If statement 多行相关下拉列表

If statement 多行相关下拉列表,if-statement,google-sheets,drop-down-menu,google-sheets-formula,array-formulas,If Statement,Google Sheets,Drop Down Menu,Google Sheets Formula,Array Formulas,我目前正在为我正在处理的电子表格添加一个相关下拉列表。我用这个公式在一行上创建了一个依赖于工作的下拉列表 =if(J9=Operators!B1,indirect("Operator"),if(J9=Operators!C1,indirect("Livery"))) ……但我希望这一点能够在每一行中复制到J65。我一直在玩弄我的公式,但毫无用处,我还使用了通过谷歌搜索找到的数组/转置公式,但这只会产生一条错误消息,要求我再添加700列你需要这样的数组公式: =ARRAYFORMULA(IFER

我目前正在为我正在处理的电子表格添加一个相关下拉列表。我用这个公式在一行上创建了一个依赖于工作的下拉列表

=if(J9=Operators!B1,indirect("Operator"),if(J9=Operators!C1,indirect("Livery")))

……但我希望这一点能够在每一行中复制到
J65
。我一直在玩弄我的公式,但毫无用处,我还使用了通过谷歌搜索找到的数组/转置公式,但这只会产生一条错误消息,要求我再添加700列

你需要这样的数组公式:

=ARRAYFORMULA(IFERROR(IF(J9:J65="Livery", 
 TRANSPOSE(FILTER(Operators!B2:B, Operators!B2:B<>"")), IF(J9:J65="Operator", 
 TRANSPOSE(FILTER(Operators!C2:C, Operators!C2:C<>"")), ))))
=ARRAYFORMULA(IFERROR)(如果(J9:J65=“Livery”,
转置(FILTER(Operators!B2:B,Operators!B2:B“”)),如果(J9:J65=“Operator”,
转置(过滤器(运算符!C2:C,运算符!C2:C“”),))
这将生成下拉列表项,然后需要为L列中的每个单元格创建下拉列表


与所需输出的示例共享一份您的工作表副本如果我做得正确,应在此处链接到我的实际电子表格,标题为“EMU”…[链接][链接]关于我的问题,我的问题涉及“390”选项卡的J和L列,其中我要求在J中选择以反映L中可用的选项。在J中选择“livery”,L应显示“操作员”选项卡C列中的列表,如果“操作员”显示在J列中,L列应显示“操作员”选项卡B列中的列表。“390”选项卡中的A71显示了我尝试的公式,该公式是完美的!你会注意到J&L列在O&P列和S&T列中重复,所以我可以将这些列合并到相同的公式中以保持整洁吗?给你们一个我所指的例子,一旦这个电子表格完成,J9:J65中会有操作员修正案,O9:O65中会有制服修正案,所以在J列上工作的同一个公式也能在O列上工作吗?不幸的是,不能。对于O&P和S&T,你们需要为每一个单独的公式,因为如果你们在J值中选择“Livery”则您需要自由选择与“Livery”不同的O值“我怀疑情况会是这样,但希望可能有一个和/或类型公式。它确实会产生另一个问题,因为随着电子表格的发展,“操作员”选项卡中的livery和operator列都需要添加到。是否有办法让列自动添加到arrayformula所在的位置,或者我需要尝试提前计划,并在两个公式之间留出适当的间隙?您可以尝试将它们放在相邻的{}数组中,但这有点毫无意义,因为数据验证不会将其理解为“扩展范围”所以你有两个选择:要么在它们之间有一个很大的间隙,比如50多列(你可以隐藏它,这样就不用担心视觉效果),要么你可以将这3个数组公式中的每一个放在单独的表格中,并在数据验证中引用整行。我已经试用了后者,它似乎工作得很好。我已经设置了一个名为“公式”的新选项卡,并将您的公式修改为=ARRAYFORMULA(IFERROR(IF('390'!J9:J65=“Livery”),TRANSPOSE(FILTER(Operators!$C$2:C,Operators!$C$2:C)”),IF('390'!J9:J65=“Operator”,transposse(FILTER(Operators!$B$2:B,Operators!$B)”)))))…这似乎工作得很好,所以我认为我会坚持下去