Призначте категорію для комірки залежно від рядків


0

Я спробую роз'яснити, що я хотів би зробити,
я отримав величезний файл, який повідомляє текст тривоги з різних типів систем

я перший колон я отримав тривогу (1 рядок = 1 текст тривоги),
я хотів би пов'язати категорію (на 2-му стовпчику) залежно від деяких слів, витягнутих з тексту тривоги

наприклад: якщо слово aaaa присутнє в тривозі, категорія повинна бути "A", якщо bbbb присутня, категорія повинна бути "B"; .....

У мене було багато категорій, понад 50 ... і я хочу мати можливість додати нові категорії, якщо потрібно

Я знайшов "рішення" з такою формулою

IF(ISNUMBER(SEARCH("Wafer not";BD2));"HANDLING";"UKN")

BD2 - це місце, де зберігається y текст тривоги

==> я в основному включив нову формулу до попередньої, щоб охопити всі категорії

це виглядає так (просто витяг):;

IF(ISNUMBER(SEARCH("mixing";BD2));"CC MIXING ALARM";IF(ISNUMBER(SEARCH("port";BD2));"LP ERROR";IF(ISNUMBER(SEARCH("mass flow";BD2));"MFC";IF(ISNUMBER(SEARCH("CC comm";BD2));"CC COMMUNICATION";IF(ISNUMBER(SEARCH("unclear";BD2));"UNCLEARED ALARM";IF(ISNUMBER(SEARCH("door";BD2));"COVER";IF(ISNUMBER(SEARCH("wafer level sens";BD2));"WAFER LEVEL SENSOR";IF(ISNUMBER(SEARCH("tank A";BD2));"COOLING TANK";IF(ISNUMBER(SEARCH("tank B";BD2));"COOLING TANK";IF(ISNUMBER(SEARCH("hdiw-unit";BD2));"HDIW UNIT";IF(ISNUMBER(SEARCH("labyrinth";BD2));"LABYRINTH ERROR";IF(ISNUMBER(SEARCH("FAN";BD2));"FAN";IF(ISNUMBER(SEARCH("handling";BD2));"HANDLING";IF(ISNUMBER(SEARCH("process has stopped";BD2));"PROCESS STOP";"UKN")))))))))))))

==> але це справді некрасиво ;-) .... якщо якщо, якщо, якщо, якщо .....

Я впевнений, що може існувати щось приємніше та розумніше

якщо у вас є ідея допомогти мені, було б чудово

заздалегідь дякую за вашу допомогу

з повагою

Відповіді:


0

Ось формула масиву, яку ви можете використовувати:
=INDEX(Table2[[#All],[category]],MAX(IF(ISNUMBER(SEARCH(Table2[[#All],[word]],D2)),ROW(Table2[[#All],[word]]),"")))

  • IF(ISNUMBER(SEARCH(Table2[[#All],[word]],D2)),ROW(Table2[[#All],[word]]),"")- шукайте кожен Wordу вашому тексті, повертає номер рядка, якщо його знайдено, "" (порожній рядок), якщо його не знайдено
  • MAX(IF(...))- виберіть найбільшу кількість повернених номерів IF(якщо збігається кілька категорій, то повертається остання)
  • =INDEX(Table2[[#All],[category]],MAX(...)) - категорія повернення з відповідного рядка
  • це формула масиву, тому вам потрібно натиснути CTRL+ SHIFT+, ENTERщоб вставити його.

Для цього вам потрібно перетворити діапазон, що містить ключові слова та категорії, в таблицю (вставка - таблиця), можливо, вам потрібно буде змінити ім’я таблиці у вашій формулі.

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.