寻求帮助
A B C D E F
1 Food Petrol Rent Wages
2 **Food** 12
3 **Petrol** 35
4 **Rent** 120
5 **Wages** 300
我有一个公式可以将值复制到单元格 C2:F5 及以后,但我很难想出一个公式,如果列中相应单元格中有值,则将列标题“食品/汽油/租金”复制到 B 列
因此,如果 C2 有值,则 B2=C1 如果 F5 有值,则 B5=“工资”
目前我有 38 列和近 1000 行,手动完成所有操作可能会很复杂
提前致谢
答案1
有很多方法可以做到这一点。您描述了有 38 列,因此某种形式的查找是最简单的方法。您可以使用 INDEX 和 MATCH 来做到这一点:
B2中的公式:
=INDEX($C$1:$F$1,MATCH(0,ISBLANK(C2:F2),0))
请注意图片中公式周围的括号。这是一个数组公式,因此您需要使用 ++ 而不是 来输入Ctrl。当然,您需要调整范围以匹配您的数据 Shift。EnterEnter
怎么运行的:
MATCH 查找第一个非空条目,在这种情况下 ISBLANK 将返回False
,OpenOffice 显示为0
(True
将显示为1
)。MATCH 返回在范围内找到匹配项的列位置。0
末尾的参数查找精确匹配。
INDEX 返回 MATCH 找到的相应列位置的第一行的值。
输入公式后,您可以将其复制并粘贴到 B 列。
更新:
您在评论中指出,您的实际电子表格中没有没有数字的空单元格。相反,它们包含显示空白单元格的公式。在这种情况下,ISBLANK 不会将其识别为空白。我们可以通过测试数字值并寻找第一个 True 条件来处理这个问题。因此 B2 公式将是:
=INDEX($C$1:$F$1,MATCH(1,ISNUMBER(C2:F2),0))
Ctrl再次强调,这是一个数组公式,因此您需要使用+ Shift+Enter而不是直接输入Enter。我刚刚验证了当“空”单元格实际上不是空白时,此公式在此示例中有效。