带有 GOOGLEFINANCE 功能的 ARRAYFORMULA

问题描述 投票:0回答:2

我想创建一个简单的函数,通过 GoogleFinance 函数为填充有 Symbol 的每一行返回公司名称,但是,我无法使脚本适用于每一行。

示例如下:

https://docs.google.com/spreadsheets/d/1cJDq0smLUmbylAnAep3WIz41GvqH_dhpnLjnLEpOmAQ/edit?usp=sharing

代码1:

// DOES NOT WORK    
=ARRAYFORMULA(IFS(ROW(B:B)=1,"NAME",A:A="","",TRUE,VLOOKUP(GOOGLEFINANCE(A:A, "name"),GOOGLEFINANCE(A:A, "name"),1,0)))

一旦我将A:A更改为A2,它就会正确加载数据,但我没有找到为每行重复该函数的方法

我尝试了解决方法:

// DOES NOT WORK
=ARRAYFORMULA(IFS(ROW(B:B)=1;"NAME";A:A="";"";TRUE;VLOOKUP(GOOGLEFINANCE(CONCATENATE("A";row()); "name");GOOGLEFINANCE(CONCATENATE("A";row()); "name");1;0)))

但结果是一样的..

有什么想法让它发挥作用吗?

提前谢谢您!

google-sheets google-sheets-formula array-formulas google-finance
2个回答
5
投票

用这个

=BYROW(A2:A, LAMBDA(r, IF(r="",,GOOGLEFINANCE(r, "name"))))

enter image description here

或者这个带有标题

={"Name";BYROW(A2:A, LAMBDA(r, IF(r="",,GOOGLEFINANCE(r, "name"))))}

enter image description here


0
投票

Vohratom C:C 未定义,嵌套 bycol 且其范围在 LAMBDA 中定义,它将起作用。

{“股息”; BYROW(A2:A; LAMBDA(r;BYCOL(C2:C;LAMBDA (c,IF(c="股息";IFNA(SUBSTITUTE(IMPORTXML(CONCATENATE("https://finviz.com/quote.ashx?t =";r);'XML 导入'!C$3)));".";",")/4);"-")))}

检查2个右括号,如果我放错地方了

© www.soinside.com 2019 - 2024. All rights reserved.