6

Есть ли способ использовать формулы массива или некоторые другие функции, чтобы по существу иметь функцию Excel, которая означает.

=Countblank({A1,A4:A6,A112:127,B29:B38})  etc.

По сути, я хочу сослаться на несколько мест, где вы обычно печатаете непрерывный диапазон. Не VBA предпочтительнее, если это действительно возможно.

Я знаю, что могу использовать

=Countblank(A1)+Countblank(A4:A6)+Countblank(A112:127)+Countblank(B29:B38) 

в этом случае, но это не идеально по очевидным причинам.

Спасибо всем :)

2 ответа2

1

Используя функцию INDIRECT, вы можете создать массив диапазонов, после чего использование с COUNTBLANK, включенным в SUM, должно дать требуемый результат.

=SUM(COUNTBLANK(INDIRECT({"A1","A4:A6","A112:A127","B29:B38"})))

В качестве альтернативы COUNTBLANK вы можете использовать пустые критерии COUNTIF.

=SUM(COUNTIF(INDIRECT({"A1","A4:A6","A112:A127","B29:B38"}),""))
-1

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

Сами функции не поддерживают то, что вы хотите. Тем не менее, вы можете создавать свои собственные функции в Excel, используя VBA. Я полагаю, что это команда функции, и то, как я ее настроил, выглядит примерно так:

Функция - определяющая

SUMIFM(критерии, диапазон1, [диапазон2] ...) = Sumif(диапазон 1, критерии 1) + [Sumif(диапазон 2, критерии 1)] ...

Затем, когда вам нужно использовать сумму в нескольких диапазонах, вы можете использовать сумму.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .