Удалить элемент из списка проверки, если он уже выбран - PullRequest
0 голосов
/ 18 апреля 2020

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

  1. =IF(COUNTIF(Schedule!$B$2:$B$7,A1)>=1,"",ROW())

, а затем создать список неиспользованных имена с:

=IF(ROW(A1)-ROW(A$1)+1>COUNT(B$1:B$6),"",INDEX(A:A,SMALL(B$1:B$6,1+ROW(A1)-ROW(A$1))))

Затем я создаю диапазон имен, используя следующее:

=OFFSET(Assets!$C$1,0,0,COUNT(Assets!$B$1:$B$6),1)

Все довольно стандартно. Это хорошо работает для одного столбца, чтобы применить проверку данных. Моя проблема в том, что я хочу иметь возможность применять проверку данных в 3 столбцах. По сути, если значение выбрано в ЛЮБОМ из 3 столбцов, я хочу удалить его из списка проверки.

Я попытался заменить функцию COUNTIF в строке 1. на COUNTIFS и несколько критериев / диапазонов, но я не могу заставить его работать.

Любая помощь будет принята с благодарностью.

Приветствия

1 Ответ

0 голосов
/ 18 апреля 2020

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

В моем проекте я разместил все данные на одном листе, который называется «Расписание». Из-за этого Excel пропускал имена листов в формулах, где я их явно не вставлял. Когда вы адаптируете мое решение, добавьте названия листов, когда вы ссылаетесь на диапазоны на других вкладках.

Список активов находится в диапазоне B4: B9. Ячейки с проверкой данных находятся в диапазоне C4: E9, диапазон помощников - G4: G9, а диапазон, из которого взят список проверки, - K4: K9. Для этой настройки это требуемая формула списка проверки.

=OFFSET($K$4,0,0,COUNT($G$4:$G$9),1)

Ниже приведена формула для ячейки K4, которая должна быть скопирована до K9.

=IF(ROW()-ROW(A$4)+1>COUNT(G$4:G$9),"",INDEX($B:$B,SMALL(G$4:G$9,ROW()-ROW(A$4)+1)))

И здесь, теперь, это формула, которая имеет реальные изменения в ней. Теперь он находит использование имени актива в любом из 3 столбцов с проверкой данных (C: E).

=IF(COUNTIF(Schedule!$C$4:$E$9,$B4),"",ROW())

Простота решения непропорциональна Трудность у меня была найти это. Как я уже сказал, я был смущен вашей ссылкой. Возможно, вы не нашли это простое решение по той же причине и теперь столкнулись с трудной битвой сами. Если это так, просто откажитесь от существующего решения и внедрите то, которое я предоставляю. Это может быть слишком сложно сделать два матча. Если вам нужна помощь, пожалуйста, дайте мне знать.

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