EXCEL: значення IF для декількох комірок


0

У мене є 3 колонки, в деяких з яких є такі країни, як вони

I                    J                    K
--------------       -----------------    ----------------
Denmark          
Finland
London               United Kingdom
123 street           London               United Kingdom

Проблема полягає в тому, що я хочу додати країни до однієї комірки, а не мати їх у декількох клітинках

L
------------
Denmark
Finland
United Kingdom
United Kingdom

Я намагався

=IF(OR(AND(J1=" United Kingdom","United Kingdom",""),AND(K1=" United Kingdom","United Kingdom",""),AND(L1=" United Kingdom","United Kingdom",""),AND(I1=" United Kingdom","United Kingdom","")),"Correct","Wrong")

і

=IF(OR(J1=" United Kingdom","United Kingdom",""),OR(K1=" United Kingdom","United Kingdom",""),OR(L1=" United Kingdom","United Kingdom",""),OR(I1=" United Kingdom","United Kingdom","")),"Correct","Wrong")

але це дає мені помилку

Хтось знає, чому це не працює, або кращий спосіб зробити це?

Відповіді:


1

Спробуйте це (у комірці L1)

=IF($K1<>"", $K1, IF($J1<>"", $J1, IF($I1<>"", $I1, "Not Provided")))

Не перевіряли цього, але повинні працювати.

Редагувати

виходячи з прикладу, який ви давали, я припускав, що стовпець K буде порожнім або країною. Якщо він може містити пробіли, то спробуйте

=IF(TRIM($K1)<>"", $K1, IF(TRIM($J1)<>"", $J1, IF(TRIM($I1)<>"", $I1, "Not Provided")))

замість цього.


це просто здається, щоб надрукувати те, що коли-небудь є у комірці 'K', воно, схоже, зовсім не порівнює клітинку 'K'
Niall

1
грунтуючись на прикладі, який ви давали, я припускав, що стовпець Kбуде порожнім або країною. Якщо він може містити пробіли, то спробуйте =IF(TRIM($K1)<>"", $K1, IF(TRIM($J1)<>"", $J1, IF(TRIM($I1)<>"", $I1, "Not Provided")))замість цього.

0

Я фактично вирішив проблему, використовуючи наступну формулу

=IF(OR(OR(TRIM(J1)="United Kingdom"),OR(TRIM(K1)="United Kingdom"),OR(TRIM(L1)="United Kingdom"),OR(TRIM(I1)="United Kingdom")),"Correct","Wrong")

Це рішення працює лише для однієї країни, у вашому прикладі їх багато. Рішення, яке надає @mtariq, набагато ефективніше. Ви спробували використовувати trim (), як він запропонував у своїх коментарях?

також обробка ("Сполучене Королівство") повертає "Великобританія", вона є більш надійною, ніж жорстке кодування провідного простору. Що робити, якщо помилка спричиняє два провідні простори чи простір?

так, я спробував @mtariq, але цей спосіб не працює, я знаю, що цей спосіб працює лише для однієї країни, але у мене є лише 7 країн, тому я зробив це в 7 різних стовпцях і з'єднав стовпчики, потім після, і це спрацювало знайти
Niall

Тоді скоріше створіть список своїх семи країн та перевірте свою функцію в цьому списку. Я не сумніваюся, що ви можете змусити метод @ mtariq працювати, окрім випадків, коли країна не завжди є останнім полем (що не показано у вашому прикладі)

0

Альтернатива вашому рішенню:

Створіть список із семи країн та створіть динамічний діапазон із цим списком. Скажімо, ви його назвали CountryList. Ви можете зберегти цей список на прихованому робочому аркуші, якщо це буде необхідно. Використання динамічного діапазону з іменем просто означає, що ви можете додати нову країну до списку, не змінюючи жодної з формул

Тепер у свій остаточний стовпчик покладіть формулу

використовуйте формулу з усім OR()і тим, TRIM()що ви опублікували, але замість цього TRIM(J1)="United Kingdom"скоріше використовуйте ISERROR(MATCH(J1, CountryList, 0 ))для перевірки, чи відповідає клітина чомусь у вашому діапазоні, а не "Correct"використовувати INDEX(CountryList, MATCH(J1, CountryList))для вилучення імені зі списку

Тож склавши все це разом:

=IF(OR(OR(ISERROR(MATCH(J1, CountryList, 0 ))),OR(ISERROR(MATCH(K1, CountryList, 0 ))),OR(ISERROR(MATCH(L1, CountryList, 0 ))),OR(ISERROR(MATCH(I1, CountryList, 0 )))),INDEX(CountryList, MATCH(J1, CountryList)),"Wrong")
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.