使用公式

时间:2015-12-14 13:34:55

标签: excel excel-formula

我正在寻找一种使用Excel中的公式创建计算列的方法。

我想在我的"分数"列,行中的空列数。在我的" EmptyLabels"连接空列的名称。

有没有办法在没有VBA和宏的Excel中执行此操作?

提前致谢。

Excel sheet

更新 尝试使用IF和多列的ISBLANK不是一个解决方案。它给了我错误:无法处理多层次的重叠"

我实际上有50列,我认为无法完成。 我只能用于少量的列,正确的解决方案是标记在下面。

3 个答案:

答案 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]], "")))

isblank_concat

答案 2 :(得分:-2)

如果列可以变量,请尝试类似

的内容
=COUNTA($A$2:OFFSET($H$2,0,-1))

=COLUMN()-$H2-2

并将$ H更改为您的分数列。