动态下拉列表,间接,多行
Dynamic dropdowns, INDIRECT, multiple rows
所以我在一行中有这个“Google Sheets App”。它有 2 个交互式下拉菜单(下拉菜单 B 选项显示基于下拉菜单 A),以及一些根据选项更改的字段。我终于使用 ARRAYFORMULA(INDIRECT)
、VLOOKUP
等完成了所有工作。对于第一行,一切都很好。
但是,我需要很多行,所以我 select 整个第一行,并一直向下扩展。但是,现在 Dropdown B 选项基于 FROM THE FIRST ROW 的 Dropdown A 选项,而不是我当前正在选择内容的行。我知道我的 ARRAYFORMULA(INDIRECT)
是这样链接的,如果我要从另一行中选择其他内容,我将不得不删除第一行。我想知道的是,是否有可能解决这个问题,基本上是新行 = 新选项,只需将第一行保持为简单值,不影响其他任何内容?或者至少以某种方式通过单击从行中导出数据,这样我就可以删除它并重新开始获取新数据?
理想情况下,只需单击一下即可完成,因为我的老板希望我在 Google Sheet 秒内制作一个功能完备的企业软件!
Google Sheet:
https://drive.google.com/file/d/1HRZsqKyIxD35dqCmCc75ldbtZeGvimKD/view?usp=sharing
尝试:
=ARRAYFORMULA(IFNA(
IFERROR(VLOOKUP(D2:D, data!A1:B20, 2, 0),
IFERROR(VLOOKUP(D2:D, data!A21:B42, 2, 0),
IFERROR(VLOOKUP(D2:D, data!A43:B54, 2, 0),
IFERROR(VLOOKUP(D2:D, data!A55:B61, 2, 0),
IFERROR(VLOOKUP(D2:D, data!A62:B94, 2, 0),
IFERROR(VLOOKUP(D2:D, data!A95:B101, 2, 0),
VLOOKUP(D2:D, data!A102:B139, 2, 0)))))))))
H2
将是:
=ARRAYFORMULA(IF(F2:F="",,VALUE(TEXT(G2:G-F2:F, "h:mm:ss"))*24*60*60))
和I2
将是:
=ARRAYFORMULA(IF(E2:E="",,IF(E2:E>40, "Paket unijeti rucno", E2:E*H2)))
所以我在一行中有这个“Google Sheets App”。它有 2 个交互式下拉菜单(下拉菜单 B 选项显示基于下拉菜单 A),以及一些根据选项更改的字段。我终于使用 ARRAYFORMULA(INDIRECT)
、VLOOKUP
等完成了所有工作。对于第一行,一切都很好。
但是,我需要很多行,所以我 select 整个第一行,并一直向下扩展。但是,现在 Dropdown B 选项基于 FROM THE FIRST ROW 的 Dropdown A 选项,而不是我当前正在选择内容的行。我知道我的 ARRAYFORMULA(INDIRECT)
是这样链接的,如果我要从另一行中选择其他内容,我将不得不删除第一行。我想知道的是,是否有可能解决这个问题,基本上是新行 = 新选项,只需将第一行保持为简单值,不影响其他任何内容?或者至少以某种方式通过单击从行中导出数据,这样我就可以删除它并重新开始获取新数据?
理想情况下,只需单击一下即可完成,因为我的老板希望我在 Google Sheet 秒内制作一个功能完备的企业软件!
Google Sheet: https://drive.google.com/file/d/1HRZsqKyIxD35dqCmCc75ldbtZeGvimKD/view?usp=sharing
尝试:
=ARRAYFORMULA(IFNA(
IFERROR(VLOOKUP(D2:D, data!A1:B20, 2, 0),
IFERROR(VLOOKUP(D2:D, data!A21:B42, 2, 0),
IFERROR(VLOOKUP(D2:D, data!A43:B54, 2, 0),
IFERROR(VLOOKUP(D2:D, data!A55:B61, 2, 0),
IFERROR(VLOOKUP(D2:D, data!A62:B94, 2, 0),
IFERROR(VLOOKUP(D2:D, data!A95:B101, 2, 0),
VLOOKUP(D2:D, data!A102:B139, 2, 0)))))))))
H2
将是:
=ARRAYFORMULA(IF(F2:F="",,VALUE(TEXT(G2:G-F2:F, "h:mm:ss"))*24*60*60))
和I2
将是:
=ARRAYFORMULA(IF(E2:E="",,IF(E2:E>40, "Paket unijeti rucno", E2:E*H2)))