У меня есть список активов и атрибутов оборудования, который является дампом необработанных данных из базы данных. Среди атрибутов, таких как состояние оборудования (например, работает, в режиме ожидания и т.д.) Или уровень масла, он также включает в себя такие вещи, как заголовки и заполнители в виде отдельной строки записи. Вот с чем я работаю с точки зрения данных.
Что я хотел бы сделать с этими данными, так это заполнить другой лист этой информацией, выбрав его на основе частичной текстовой строки среди других критериев. Вот пример того, что будет содержать ячейка, которую я проверяю.
"\Hierarchy\P2 PROCESS DE-OIL\DE-OIL\DE-OILING D\BU-1002\P-1866A"
То, что я буду проверять, будет частью этой текстовой строки "DE-OILING D". Это может включать в себя сотни записей, и, извлекая записи только с тем частичным текстом, я не буду извлекать другие сотни записей, которые мне не нужны.
Теперь я надеюсь, что это возможно с помощью функции. Я знаю, что могу подсчитать количество этих записей в этом списке данных с помощью оператора COUNTSIF
(эта формула работает для меня "= COUNTIF ('DBASE SHEET'!B:B, A4)"). Так что я знаю, что это можно обнаружить, но я не могу понять, как вытащить другие поля данных, проверив текст «De-Oiling D» в качестве условного аргумента, а затем сослаться на другие данные на основе что критерии.
Я пробовал index()
, indirect()
и vlookup()
и это либо что-то совершенно другое или, возможно, сочетание этих функций. В любом случае я не могу заставить формулу работать.
Теперь вот другая морщина. После того, как я обнаружил указанную запись, которую я хочу перенести на новую рабочую таблицу, я хочу иметь возможность создать список новых данных, но без целого ряда пустых строк.
Записать образец, используя |
в качестве разделителей клеток:
|\Hierarchy\P2 PROCESS DE-OIL\DE-OIL\DE-OILING C\P-1370 | NULL |
|\Hierarchy\P2 PROCESS DE-OIL\DE-OIL\DE-OILING C\P-1370 | RUNNING STATUS |
|\Hierarchy\P2 PROCESS DE-OIL\DE-OIL\DE-OILING C\P-1370 | OIL LEVEL |
|\Hierarchy\P2 PROCESS DE-OIL\DE-OIL\DE-OILING C\P-1370 | SUCTION PRESSURE|
|\Hierarchy\P2 PROCESS DE-OIL\DE-OIL\DE-OILING D\P-1470 | NULL |
|\Hierarchy\P2 PROCESS DE-OIL\DE-OIL\DE-OILING D\P-1470 | RUNNING STATUS |
|\Hierarchy\P2 PROCESS DE-OIL\DE-OIL\DE-OILING D\P-1470 | OIL LEVEL |
|\Hierarchy\P2 PROCESS DE-OIL\DE-OIL\DE-OILING D\P-1570 | NULL |
|\Hierarchy\P2 PROCESS DE-OIL\DE-OIL\DE-OILING D\P-1570 | RUNNING STATUS |
|\Hierarchy\P2 PROCESS DE-OIL\DE-OIL\DE-OILING D\P-1570 | OIL LEVEL |
В качестве вывода я хотел бы получить следующее без пробелов и прочего:
|DE-OILING C | P-1370 | RUNNING STATUS |
|DE-OILING C | P-1370 | OIL LEVEL |
|DE-OILING C | P-1370 | SUCTION PRESSURE|
|DE-OILING D | P-1470 | RUNNING STATUS |
|DE-OILING D | P-1470 | OIL LEVEL |
|DE-OILING D | P-1570 | RUNNING STATUS |
|DE-OILING D | P-1570 | OIL LEVEL |