2016-07-14 63 views
1

爲了規範多個數據庫中的公司名稱,我發現我可以與雅虎財務API交叉引用公司名稱,並獲得全面的命名。與來自雅虎財務的IMPORTDATA連接

我使用

=Transpose(ImportData("http://finance.yahoo.com/d/quotes.csv?s="&A2&"&f=n")) 

但分隔每個字成不同的列,所以後來我一直在使用來連接在另一列輸出如下:

=TRIM(CONCATENATE(F2," ",G2," ",H2," ",I2," ",J2," ",V2)) 

是否有一氣呵成的方式嗎?我試過使用「min」,它只輸出「0」。思考?我感謝您的幫助。

+1

我沒有看到「每一個字分成不同的列」與我嘗試了幾個股票代碼。請給出一個獨立的例子,重現問題。 – 2016-07-15 00:44:25

+0

我已經創建了一個啞數據集[HERE](https://docs.google.com/spreadsheets/d/1gZnaWnNZvcAO7IvuWnx7x-HWHFbs9KltpTtFW3xPL54/edit?usp=sharing),並試着用筆記解釋每列中的問題。我之前曾嘗試使用正則表達式對這些公司進行規範化處理,但我無法獲得足夠準確的數據,以至於我的總數超過10,000家公司。 –

回答

1

使用join來連接輸入數據的輸出。轉置變得不必要,因爲連接也與列一起工作。

=join(" ", ImportData("http://finance.yahoo.com/d/quotes.csv?s="&A2&"&f=s")) 

或者,如果您需要在末端修剪(似乎沒有在你的例子必要),

=trim(join(" ", ImportData("http://finance.yahoo.com/d/quotes.csv?s="&A2&"&f=s"))) 
+0

順便說一句,如果您有更好的方法來標準化名稱,我很樂意聽到它。我會爲虛擬數據添加更多的公司名稱。如上所述,它與Regex(我相當擅長)太複雜了,所以我認爲這將是一個更好的選擇,即使它是痛苦的緩慢。 –

+1

我會用他們的股票代碼作爲標識符:MSFT,AAPL等 – 2016-07-15 17:20:21

+0

我應該更詳細地解釋一下。我使用納斯達克/紐約證券交易所FTP來獲取在這些交易所進行交易的所有上市公司(包括代號)。然後,我有許多數據集,其中包含有關這些公司的單獨信息,但這些數據集沒有這些代碼。我想整合這些數據集,但是像QUERY或VLookup這樣的東西無法正常工作,如果我不對這些聚會名稱進行標準化併合並數據集。在未來,我想包括子公司,但我知道這會帶來全新的複雜程度。 –