我有 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
答案 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”。