excel - 如何在 Excel 单元格 block 中查找非空的第一列并返回相应的列标题

标签 excel multidimensional-array excel-formula is-empty

我正在尝试查找不为空的第一列并在 Excel 单元格 block 中返回相应的列标题(我认为称为数组?)
例如:
In this picture, I want to look at all of the entries in B4:G9, and have my formula tell me the first column not to be empty is the column labeled as 1.
到目前为止,我有以下公式似乎有效,我搜索每一行,让每一行返回第一个非零数字出现的列标题,然后搜索返回的列标题中的最小值。但是我的实际数据有超过 100 列和 100 行,所以我正在寻找更干净的东西。

=MIN(
INDEX($B$3:$G$3,MATCH(TRUE,INDEX((B9:G9<>0),0),0)),
INDEX($B$3:$G$3,MATCH(TRUE,INDEX((B8:G8<>0),0),0)),
INDEX($B$3:$G$3,MATCH(TRUE,INDEX((B7:G7<>0),0),0)),
INDEX($B$3:$G$3,MATCH(TRUE,INDEX((B6:G6<>0),0),0)),
INDEX($B$3:$G$3,MATCH(TRUE,INDEX((B5:G5<>0),0),0)),
INDEX($B$3:$G$3,MATCH(TRUE,INDEX((B4:G4<>0),0),0)))

最佳答案

这个公式应该适合你,调整 $B$4:$G$9匹配您的实际数据集:

=INDEX($3:$3,1,MIN(IF($B$4:$G$9<>0,COLUMN($B$4:$G$9),COLUMNS($3:$3))))
注:根据您的 Excel 版本,您可能必须使用 CtrlShiftEnter 确认公式,而不仅仅是 Enter。这将强制将公式计算为数组。当公式用大括号括起来时,你就会知道你做对了{formula} (大括号不是手动放入的,它们是在通过 CtrlShiftEnter 成功输入数组后自动放入的)

关于excel - 如何在 Excel 单元格 block 中查找非空的第一列并返回相应的列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72635418/

相关文章:

vba - 无法在计划任务中使用 vba 关闭 Excel 应用程序

java - 使用 java jxl 在现有工作簿中添加新工作表

java - 有没有更好/更小的方法来比较矩阵的值

Excel从非堆叠单元格创建数组

excel - 随着时间的推移分配值(value)

excel - 跨多个列的唯一值

c# - 从 C# 进行 Excel 操作 - 设置 ActiveCell?

VBA通过部分名称识别工作簿

javascript - 尝试使用 2d 数组起草 6x6 游戏板

java - 如何生成维数未知的多维数组