Используйте функции, такие как Countif, Countblank и т. Д., Чтобы ссылаться на отдельные диапазоны.
Есть ли способ использовать формулы массива или некоторые другие функции, чтобы по существу иметь функцию Excel, которая означает.
=Countblank({A1,A4:A6,A112:127,B29:B38}) etc.
По сути, я хочу сослаться на несколько мест, где вы обычно печатаете непрерывный диапазон. Не VBA предпочтительнее, если это действительно возможно.
Я знаю, что могу использовать
=Countblank(A1)+Countblank(A4:A6)+Countblank(A112:127)+Countblank(B29:B38)
в этом случае, но это не идеально по очевидным причинам.
Спасибо всем:)
2 ответа
Используя функцию 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"}),""))
Я не совсем доволен этой частью Excel, но я знаю теорию достаточно хорошо, чтобы указать вам правильное направление. Надеюсь, кто-то еще, кто знает область лучше, может дать более подробный ответ.
Сами функции не поддерживают то, что вы хотите. Тем не менее, вы можете создавать свои собственные функции в Excel, используя VBA. Я полагаю, что это команда функции, и то, как я ее настроил, выглядит примерно так:
Функция - определяющая
SUMIFM(критерии, диапазон1, [диапазон2]...) = сумма (диапазон 1, критерии 1) + [сумма (диапазон 2, критерии 1)]...
Затем, когда вам нужно использовать сумму в нескольких диапазонах, вы можете использовать сумму.
Меня не удивит, если что-то подобное уже было создано и где-то в библиотеке, а это значит, что вам не придется писать это самостоятельно. Я бы тоже не удивился, если бы в библиотеке было много, много функций, похожих на те, которые вы могли бы объединить и добавить в свое превосходство.