满足特定条件时向 excel 列添加特定值

时间:2021-06-09 06:42:10

标签: excel excel-formula

我有 3 列,

  1. 阿富汗
  2. 贝宁
  3. 国家

前两列包含十进制值,中间还有一些空格(用'-'表示)。我想要实现的是我想检查if Afghanistan column has any value in it,如果是,那么该行中国家列的相应单元格中应该有Afghanistan,如果在同一行中,{{1} },那么Country 列中应该有Benin column has value,而Benin 然后Country 单元格中应该有if both have values in them。此外,如果 Country 列中已经存在一个值,则不应更改它。如何实现?

请帮助我,因为我是 excel 的新手。

谢谢

请参阅this picture

2 个答案:

答案 0 :(得分:1)

您可能需要的是 =ISBLANK() 工作表函数,它可以检查单元格是否为空。这将与 =IF() 公式结合使用:

=IF(ISBLANK(A2);"Value if true";"Value if false")

当你把它放在单元格 B2 中时,你会得到预期的结果。

当您想检查列中是否存在任何内容时,您可以这样做:

=LEN(TEXTJOIN("",FALSE,B2:B6))

这使用空字符串分隔符连接列 B(从 B2 到 B6),并获取结果的长度。如果整个列中没有任何内容,则长度为零。

答案 1 :(得分:0)

如果没有 VBA,假设一个新的 Country(我将其命名为 Country2)列作为解决方案是可以接受的。

还假设第 3 个原始列是 A:C & Country2 列是 D。把这个是 D2 并向下拖动:

=IF(C2="",IF(AND(B2="-",A2="-"),"",IF(B2="-","Afghanistan",IF(A2="-","Benin","Afghanistan,Benin"))),C2)

想法:将所有逻辑转换为嵌套 if。 D 列是您想要的列。


工作原理:

=IF(C2="", ... ,C2) 如果 C2 不为空,则取 C2 值。如果为空,则执行 (...)

IF(AND(B2="-",A2="-"),"", ... ) 如果 A2 和 B2 都为空,则放一个空格 : "" ,否则执行 (...)

IF(B2="-","Afghanistan", ... ) 如果只有 B2 等于“-”,则放“阿富汗”,否则做 ...

IF(A2="-","Benin","Afghanistan,Benin") 如果只有 A2 等于“-”,则输入“Benin”,否则输入“Afghanistan,Benin”。