Суммируйте числа в диапазоне, если ячейка содержит определенный символ в конце числа - PullRequest
0 голосов
/ 12 февраля 2019

У меня диапазон А2: А6.Допустим, A2 = 3 A3 = 4k A4 = h A5 = 6k, а A6 пусто.Мне нужно сложить все числа в этом диапазоне, заканчивающиеся на «к».Я пришел с формулой:

=SUMPRODUCT(NOT(ISBLANK(--LEFT(A2:A6;SEARCH("k";A2:A6;1)-1))))

Но я не могу получить (НЕ (часть ISBLANK работает. Вышеприведенное возвращает 0. Упрощенная версия этой формулы работает, если диапазон содержит только числа, заканчивающиесяс "k", но мне нужно, чтобы он пропускал пробелы. Я не нашел рабочих идей решения, чтобы заставить его работать. Правильный результат для вышеуказанного диапазона должен вернуть 10.

Ответы [ 3 ]

0 голосов
/ 12 февраля 2019

Попробуйте формулу массива.

Я сделал этот пример данных:

enter image description here

Как вы можете видеть на изображении выше,Я хочу суммировать только значения в ячейках A2 и A4 (те, которые заканчиваются на char K).В результате получается формула, которую я использовал:

=SUM(IF(RIGHT($A$1:$A$4;1)="k";SUBSTITUTE($A$1:$A$4;"k";"")+0))

Чтобы эта формула работала, ее необходимо ввести как формулу массива, то есть вывведите его как обычно, но вместо нажатия Enter для подтверждения необходимо нажать CTRL + SHIFT + ENTER , иначеработа.

Часть +0 в формуле предназначена для автоматического преобразования строки, полученной после замены числа K, в число.

Надеюсь, вы сможете адаптировать его к своим потребностям.

0 голосов
/ 12 февраля 2019
=SUMPRODUCT((RIGHT(A2:A6)="k")*(IFERROR(--LEFT(A2:A6),0)))

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

Из-за функции IFERROR внутри SUMPRODUCT формулу необходимо вводить как функцию массива.Используйте CONTROL + SHIFT + ENTER вместо просто ENTER при вводе формулы.Вы будете знать, что сделали все правильно, когда {} появится вокруг вашей формулы.Их нельзя добавить вручную.

poc

ПРИМЕЧАНИЕ. Замените разделители , на ; в соответствии с вашей системой

0 голосов
/ 12 февраля 2019

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

=SUMPRODUCT(IFERROR((RIGHT(A2:A6)="k")*SUBSTITUTE(A2:A6,"k","",1),0))

Используется как формула массива (с Ctrl + Shift + Введите . Формула состоит из 2 основных частей:

  • (RIGHT(A2:A6)="k") проверяет, заканчивается ли значение символом k и
  • SUBSTITUTE(A2:A6,"k","",1) удаляет это k, чтобы получить фактическое значение.

enter image description here

Ваша формула (если она работает) будетвключили любое число перед k, даже если это k не было в конце (например, оно использовало бы 6 в 6k2, если оно присутствовало), но вышеприведенное - нет.

Также пробелы в Excel считаются равными 0, поэтому добавление пробелов также не изменило бы результат.

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