Перейти к содержимому

MS Excel Условный КОНКАТЕНАТ

1

У меня есть Excel DOC, где у меня есть две колонки «Тел» и «Мобильный». В некоторых записях есть только Tel, а в некоторых - только Mobile, а в некоторых - оба. Теперь я хочу один столбец, в котором:

 | 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), но здесь, если в обоих столбцах есть данные, я получу непонятное число

483 просмотра
mohamed87 спросил 9 лет назад
M 171

3 ответа

3

Вам не нужно CONCATENATE.

Просто используйте IFиISBLANK

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

Когда значение mobileпусто, оно будет принимать значение telнезависимо от значения, включая пустое.

Когда mobileэто не пустой, он будет принимать значение mobile.

Vylix ответил 9 лет назад
V 1 567
1

Excel позволяет использовать вложенные операторы IF. Используя IF, ISBLANKи CONCATENATE, я смог достичь желаемого результата по следующей формуле:

=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 пустые ,

Table output with input data from question and output data provided by the formula

какой смысл в CONCATENATE (B2)?

phuclv · 9 лет назад · 1

Да, это была не самая лучшая часть логики программирования ... после меня были гораздо более элегантные ответы.

D3xbot · 9 лет назад · 0
D3xbot ответил 9 лет назад
D 31
0

Я нашел очень аккуратный способ:

Перейдите в Filter -> Uncheck All -> Select all Пустые ячейки Mobile (B) -> в первую ячейку, поместите = A1 -> Enter -> Применить ко всем следующим ячейкам -> удалить его Filter!

mohamed87 ответил 9 лет назад
M 171