Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement 在Google sheets或excel中使用公式获取勾选的标题值_If Statement_Google Sheets_Split_Google Sheets Formula_Array Formulas - Fatal编程技术网

If statement 在Google sheets或excel中使用公式获取勾选的标题值

If statement 在Google sheets或excel中使用公式获取勾选的标题值,if-statement,google-sheets,split,google-sheets-formula,array-formulas,If Statement,Google Sheets,Split,Google Sheets Formula,Array Formulas,我有一个表格,需要从中获取所选标题的值,如图所示。“全部”优先,勾选时将包括所有标题 预期值如下图所示 紫色单元格的每一行都有公式H2、H3等 我试过了 =TRANSPOSE(FILTER(Config!A$1:A$16,(INDEX(Config!A$1:G$16,,MATCH(2,Config!$A$1:$1,0) ))=TRUE)) 使用IFs的“暴力强制”解决方案有点有效,尽管它不雅观,并且不能扩展到更多的列。用任意数量的列重新提问可能会很有趣。纯公式解决方案可能是不可能的 编码人

我有一个表格,需要从中获取所选标题的值,如图所示。“全部”优先,勾选时将包括所有标题

预期值如下图所示

紫色单元格的每一行都有公式H2、H3等

我试过了

=TRANSPOSE(FILTER(Config!A$1:A$16,(INDEX(Config!A$1:G$16,,MATCH(2,Config!$A$1:$1,0) ))=TRUE))
使用IFs的“暴力强制”解决方案有点有效,尽管它不雅观,并且不能扩展到更多的列。用任意数量的列重新提问可能会很有趣。纯公式解决方案可能是不可能的


编码人,查看此公式(需要向下拖动)是否符合您的要求:

=IF(B2,{C$1:F$1},IFERROR(FILTER(C$1:F$1,C2:F2),""))

删除H:K范围并在H2中使用:

=INDEX(TRIM(SPLIT(FLATTEN(QUERY(TRANSPOSE(IF(B2:B=TRUE, C1:F1&"♦", 
 IF(C2:F=TRUE, C1:F1&"♦", ))),,9^9)), "♦")))

与@ttarchala的答案不同,我还没有想出一个数组公式解决方案!为了简要解释此解决方案中使用的公式,我将补充一点,即它使用一个简单的函数,当选择
B
时(在第一种情况下,对于其余行,只需拖放此公式),它将返回从
C
F
的所有单元格值(如上所述,backets允许您按顺序将值分组)。如果未选中,则在筛选函数无法返回某些内容时,将使用函数显示空白单元格。此函数将仅返回选中的值(设置为true)从
C
F
。这样,当选择
时,所有的
都将按顺序显示,当取消勾选时,它将只显示勾选的那些值。不应显示所有值,请注意,勾选后,它将显示排序、快速任务通信和工具。@CodeGuy答案已更新