我正在寻找一种使用Excel中的公式创建计算列的方法。
我想在我的"分数"列,行中的空列数。在我的" EmptyLabels"连接空列的名称。
有没有办法在没有VBA和宏的Excel中执行此操作?
提前致谢。
更新 尝试使用IF和多列的ISBLANK不是一个解决方案。它给了我错误:无法处理多层次的重叠"
我实际上有50列,我认为无法完成。 我只能用于少量的列,正确的解决方案是标记在下面。
答案 0 :(得分:2)
请在H2尝试:
=COUNTBLANK(A2:G2)
和I2:
=IF(ISBLANK(A2),A$1,"")&IF(ISBLANK(B2),B$1,"")&IF(ISBLANK(C2),C$1,"")&IF(ISBLANK(D2),D$1,"")&IF(ISBLANK(E2),E$1,"")&IF(ISBLANK(F2),F$1,"")&IF(ISBLANK(G2),G$1,"")
然后将两者复制到适合的地方。
答案 1 :(得分:1)
得分'行'中的空列数,以便在第一行中生成COUNTBLANK function公式,
=COUNTBLANK(Table1[@[Col 1]:[Col 7]])
条件级联可以由一系列嵌套的IF和ISBLANK函数处理。 &符号提供简单的字符串连接(例如&
)。
=TRIM(IF(ISBLANK([@[Col 1]]), Table1[[#Headers],[Col 1]]&" ", " ")&
IF(ISBLANK([@[Col 2]]), Table1[[#Headers],[Col 2]]&" ", " ")&
IF(ISBLANK([@[Col 3]]), Table1[[#Headers],[Col 3]]&" ", " ")&
IF(ISBLANK([@[Col 4]]), Table1[[#Headers],[Col 4]]&" ", " ")&
IF(ISBLANK([@[Col 5]]), Table1[[#Headers],[Col 5]]&" ", " ")&
IF(ISBLANK([@[Col 6]]), Table1[[#Headers],[Col 6]]&" ", " ")&
IF(ISBLANK([@[Col 7]]), Table1[[#Headers],[Col 7]]&" ", " "))
如果您更喜欢CONCATENATE function提供的更正式的字符串拼接,那么
=TRIM(CONCATENATE(IF(ISBLANK([@[Col 1]]), Table1[[#Headers],[Col 1]], ""), CHAR(32),
IF(ISBLANK([@[Col 2]]), Table1[[#Headers],[Col 2]], ""), CHAR(32),
IF(ISBLANK([@[Col 3]]), Table1[[#Headers],[Col 3]], ""), CHAR(32),
IF(ISBLANK([@[Col 4]]), Table1[[#Headers],[Col 4]], ""), CHAR(32),
IF(ISBLANK([@[Col 5]]), Table1[[#Headers],[Col 5]], ""), CHAR(32),
IF(ISBLANK([@[Col 6]]), Table1[[#Headers],[Col 6]], ""), CHAR(32),
IF(ISBLANK([@[Col 7]]), Table1[[#Headers],[Col 7]], "")))
答案 2 :(得分:-2)
如果列可以变量,请尝试类似
的内容=COUNTA($A$2:OFFSET($H$2,0,-1))
=COLUMN()-$H2-2
并将$ H更改为您的分数列。