MS Excel有条件CONCATENATE


1

我在Excel文档中有两列“电话”和“移动”。有些记录只有电话,有些只有移动,而有些却都有,现在我想在一个列中:

  |     A     |     B     |     C
2 | 200000000 |           | HERE MUST BE 200000000
3 |           | 700000000 | HERE MUST BE 700000000
1 | 200000000 | 700000000 | HERE MUST BE 700000000
  • 如果只用电话,那就把电话

  • 如果仅移动设备,则放置移动设备

  • 如果两者都放移动

如您所见,移动电话号码比固定电话优先。

现在我应该使用什么查询?我以前用CONCATENATE(A1&B1)bu做过,如果两列都有数据,我将得到一个无意义的数字


1
为什么在地球上使用CONCATENATE?只需使用A1 & B1
phuclv

Answers:


3

您不需要CONCATENATE

只需使用IFISBLANK

=IF(ISBLANK(B2), A2, B2)

mobile为空白时tel,无论值是多少,都将采用的值,包括空白。

mobile为空,将采取的值mobile


1

Excel允许使用嵌套的IF语句。使用IFISBLANKCONCATENATE,我可以通过以下公式达到您想要的结果:

=IF(ISBLANK(A2),CONCATENATE(B2),(IF(ISBLANK(B2),CONCATENATE(A2),CONCATENATE(B2))))

为了更直观地显示它,我将其分解:

IF(ISBLANK(A2))
     CONCATENATE(B2)
ELSE IF(ISBLANK(B2))
     CONCATENATE(A2)
ELSE
     CONCATENATE(B2)

这可能不是最漂亮的代码或逻辑,但它可以工作。

注意:如果两个字段均为空,则此公式将产生一个空单元格。在下图中,我使用了问题的数据在A列和B列中,并且上面的公式在C列中创建了输出。屏幕快照中包含第5行,因为C5包含用于在A5和B5为空白时显示其输出的公式。

表格输出,包含问题的输入数据和公式提供的输出数据


1
有什么意义CONCATENATE(B2)
phuclv

是的,那不是我最擅长的编程逻辑……我的命中之后,答案更为优雅。
D3xbot

0

我发现了一种非常整洁的方式:

转到过滤器->取消全部选中->选择第一个单元格中的所有移动(B)空白单元格->输入->输入->应用于所有以下单元格->删除过滤器!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.