Обработка ошибки в списке DataValidation формула - PullRequest
1 голос
/ 30 января 2020

У меня есть формула списка DataValidation с зависит от другого столбца.

OFFSET(DATA!A2;0;MATCH(A1;DATA!1:1;0)-1;COUNTA(OFFSET(DATA!A:A;0;MATCH(A1;DATA!1:1;0)-1))-1)

Когда другой столбец пуст, формула приводит к ошибке (MATCH приводит к #N/A) и Excel предупреждает об этом с помощью:

"Источник в настоящее время оценивается как ошибка. Вы хотите продолжить? "

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

Есть ли способ обработать такую ​​ошибку и предоставить пустой список для excel? Или список с одним элементом, содержащим пустую строку?

Моя текущая идея - создать ошибку обработки с предоставлением пустого списка по умолчанию. Но я не могу создать правильный синтаксис для него.

IFERROR(myformula, <empty list or list with one empty string>)

Любая помощь будет оценена.

ПРИМЕЧАНИЕ: этот вопрос возник из-за моей другой проблемы , где я создал python скрипт для воспроизведения этого случая.

1 Ответ

0 голосов
/ 30 января 2020

Зная, что MATCH приводит к #N/A Я обернул его в IF(IFNA(...

IF(IFNA(failingformula;FALSE);formula;someCellWithEmptyValue)
and whole formula is
IF(IFNA(MATCH(A1;DATA!1:1;0);FALSE);OFFSET(DATA!A2;0;MATCH(A1;DATA!1:1;0)-1;COUNTA(OFFSET(DATA!A:A;0;MATCH(A1;DATA!1:1;0)-1))-1);C3)

, где fomula написано в вопросе, а C3 - некоторая случайная ячейка, которая, как я знаю, будет содержать пустое значение.

Тем не менее, если кто-то знает лучший и более чистый подход, пожалуйста, поделитесь идеей.

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