Как проверить, отображаются ли данные в ячейке (строке) в ячейке (столбце) на нескольких листах? - PullRequest
0 голосов
/ 18 марта 2020

TL: DR: я хочу использовать список значений (в строках или через запятую) для поиска каждого значения в списке по контрольному листу и вывода Y , если хотя бы одно из появляются значения, N , если ничего не происходит, и M , если хотя бы одно значение появляется, но соответствует дополнительной переменной.


Приветствия,

Я надеюсь, что вы все в безопасности - не забудьте DAB (уничтожить все бактерии) на вирус короны!

Я нашел вопрос, примерно похожий на то, что я пытаюсь сделать, и надеялся на некоторая помощь в его модификации (или использование чего-то совершенно другого, idk). Я нашел этот вопрос.

Заранее благодарю за помощь.


У меня есть некоторые данные, перечисленные в виде справочной таблицы ( таблица) 1 )

 Unique ID     Name         Server Address     Project
 10000         Company 1    Server 1           Project 1
 10001         Company 2    Server 2           Project 2
 10002         Company 3    Server 3           Project 3
 10003         Company 3    Server 3           Project 4
 10004         Company 3    Server 3           Project 5
 10005         Company 3    Server 3           Project 6
 10006         Company 4    Server 4           Project 7
 10007         Company 4    Server 4           Project 7
 10008         Company 4    Server 4           Project 7
 10009         Company 5    Server 5           Project 8
 10010         Company 6    Server 6           Project 9
 10011         Company 7    Server 7           Project 10
 10012         Company 8    Server 8           Project 11
 10013         Company 8    Server 8           Project 11
 10014         Company 8    Server 8           Project 11
 10015         Company 8    Server 8           Project 11
 10016         Company 8    Server 8           Project 11
 10017         Company 8    Server 8           Project 11
 10018         Company 8    Server 8           Project 11
 10019         Company 8    Server 8           Project 11
 10020         Company 8    Server 8           Project 11
 10021         Company 9    Server 9           Project 12
 10022         Company 10   Server 10          Project 13
 10023         Company 11   Server 10          Project 14
 10024         Company 12   Server 10          Project 15
 10025         Company 13   Server 10          Project 16
 10026         Company 14   Server 10          Project 17
 10027         Company 15   Server 10          Project 18
 10028         Company 16   Server 10          Project 19
 10029         Company 17   Server 10          Project 20
 10030         Company 18   Server 10          Project 21
 10032         Company 19   Server 10          Project 23
 10033         Company 19   Server 10          Project 24

Вот правила:

  • Каждый уникальный идентификатор, очевидно, уникален. Это невозможно повторить. Всегда только цифры c, 4-6 цифр (но, возможно, потребуется изменить это, если мне понадобится 7 и т.д. c).
  • У компании может быть несколько разных UID.
  • Проект может иметь несколько UID, связанных с ним, и каждый проект находится только на одном сервере.
  • Компания может иметь проекты на нескольких серверах (хотя это чрезвычайно редко, 99% имеют только один адрес) ).
  • Сервер может совместно использоваться компаниями, т. Е., Например, на Сервере 10 могут размещаться проекты Компании 11 и 12, размещенные на нем. У них также может быть несколько проектов от одной компании на одном сервере (и каждый проект имеет как минимум один UID, но может иметь больше).

Я использую таблицу, отформатированную так, как справочный лист и ведите электронную таблицу того, прошел ли каждый проект аудит. Аудит выполняется для каждого UID.

Лист аудита (контрольный лист) отформатирован немного по-другому (я его здесь усек), и текст stati c не является формулами. ( таблица 2 ):

 Server     Name         Project (UID)                          Today's Date
 Server 1   Company 1    Project 1 (10000)                       Y
 Server 2   Company 2    Project 2 (10001)                       N
 Server 3   Company 3    Project 3 (10002,10003,10004,10005)     M
 Server 4   Company 4    Project 4 (10006,10007,10008)           Y
 -----------------------------------------------------
 Server 10  Company 10  Project 13 (10022)                       Y
 Server 10  Company 11  Project 14 (10023)                       M
 Server 10  Company 12  Project 15 (10024)                       Y
 Server 10  Company 13  Project 16 (10025)                       Y
 Server 10  Company 15  Project 18 (10027)                       Y
 Server 10  Company 16  Project 19 (10028)                       Y
 Server 10  Company 17  Project 20 (10029)                       N
 Server 10  Company 18  Project 21 (10030)                       Y
 Server 10  Company 19  Project 22 (100310)                      Y
 Server 10  Company 19  Project 23 (10032)                       Y
 Server 10  Company 19  Project 24 (10033)                       Y

Аудит считается полученным, если:

  • Все UID для этого проекта пройдены и получили аудит (помечены с Y ).
  • По крайней мере один UID для этого проекта прошел и получил аудит (помеченный Y ).
  • Если только UID для этого проекта получил аудит, но не прошел все требования (помеченные M ), даже если другой UID для этого проекта прошел аудит.

An Аудит считается не полученным, если:

  • Он не включен в начальную загрузку / вставку информации аудита (отмечен N ). Если любой аудит получен для любого UID в этом проекте, они получат Y или M .

По сути, если каждый UID для конкретного проекта находится на листе недостающего аудита, этот проект помечается N на контрольном листе, в противном случае он помечается M , если получен какой-либо неудачный аудит, или Y, если хотя бы один пройден, и для этого проекта не было получено ни одного неудачного аудита.

Это позволяет отслеживать историю аудита для каждого проекта, основываясь на том, мы не получали аудит от каждого UID, и каждый день проводится для предоставления истории / трендов и т. д. c в удобном для чтения формате (все цвета).

Используются другие буквы, но эти вводятся вручную (для ошибок и примечаний и т. д. c.).


Таблица проверки (начальная вставка проверок, таблица 3 )

Notes                                   Time Rec.      UID     Name        Server
Audit for company passed:10001          auto           10001   Company 2   Server 2  
Audit for company passed:10006          auto           10006   Company 4   Server 4
Audit for company failed:10007          auto           10007   Company 4   Server 4  

В этом примере в листе аудита проект 2 (10001) будет отмечен Y , а проект 4 (10006, 10007, 10007) будет помечен M , как они один проход, один провал и один не получен для этого проекта.

Столбцы Имя / Сервер заполняются VLOOKUP из таблицы 1 , которая выполняет поиск на основе строки UID, извлеченной из столбца Примечания , в который вставляются данные.


Я хочу, чтобы лист аудита ( таблица 2 ) заполнялся автоматически на каждый день. У меня уже есть формула для отслеживания, которая отсутствует каждый день:

=INDEX(Reference!$A$2:$A$160, SMALL(IF(ISERROR(MATCH(Reference!$A$2:$A$160, Check!$D$2:$D$350, 0)), (ROW(Reference!$A$2:$A$160)-MIN(ROW(Reference!$A$2:$A$160))+1), ""), ROWS($A$1:A1)))

, которая ссылается на таблицу 1 (ссылка) и проверяет Проверьте вкладку , где я вставил дневные ревизии. Это позволяет мне быстро увидеть, какие проекты отсутствуют (что будет отмечено N в контрольном листе), но трудно эффективно перемещаться по данным, поскольку в некоторых проектах может быть более 10 UID, и им нужен только один из тех, кто прошел аудит, чтобы получить Y , или получил частично успешный аудит, чтобы получить M . Это сбрасывается, когда вкладка проверки очищается.

В идеале используемая формула должна искать / проверять список в столбце проекта листа аудита на вкладке Проверка (куда идет начальная вставка дней аудита) и отсутствующая вкладка (заполняемая вышеуказанной формулой) с использованием справочного листа для предоставления прохода (Y или M) или неудачи (N).

Очевидно, что формула будет обновляться, когда проверочный лист очищается (ежедневно) , но я могу просто скопировать / вставить значения, чтобы сохранить информацию для каждого дня перед добавлением нового столбца Today's Date .

Надеюсь, это имеет смысл для кого-то! Спасибо за ваше время, и я буду публиковать любые обновления или вещи, которые я выясняю.

ninjaedit: Я рад изменить расположение любой из таблиц практически любым способом, или использовать VBA, но предпочел бы формулу. Все больше компаний / проектов / UID добавляются или удаляются относительно регулярно, поэтому мне нужно иметь возможность редактировать их на лету.

У меня есть де-идентифицированный лист, если кому-то нужна копия.

edit1: сделал некоторые правки для улучшения читабельности, но все еще довольно потерян, но когда у меня будет что-то, что работает с точки зрения шагов вперед, я опубликую здесь. edit2: добавлена ​​новая таблица ( таблица 4 ).

таблица 4 (пример макета)

 Company Trading Name     Project     UID     UID     UID     UID
 Company 1                Project 1   10000
 Company 2                Project 2   10002
 Company 4                Project 7   10006   10007   10008

кто-то порекомендовал создать эту таблицу вместо этого, как это может быть легче ссылаться, чем разделенный запятыми список из таблица 2 . Я все еще собираю все вместе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...