2016-07-14 62 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这样的东西无法正常工作,如果我不对这些聚会名称进行标准化并合并数据集。在未来,我想包括子公司,但我知道这会带来全新的复杂程度。 –