Excel, считая в формулах на массив - PullRequest
0 голосов
/ 25 апреля 2018

Представьте строки A2: A11 = имя клиента, столбцы B1: AE1 = дни месяца.

Чтобы упростить процесс: Ежедневно мы подсчитываем, покупают ли клиенты (количество), и разделяем их знаком +, чтобы получить общую сумму покупки за этот день.(пример: во 2-й день месяца (C2: C5)

Abe =44+54+10

John =22+10+40

Sara =40

Mary=10+10

Также нам нужно подсчитать общее количество «продаж» за весь день (в приведенном выше примере это 3 + 3 + 1 +2) = 9, чтобы показать в последнем ряду дня. (B12 в этом примере) Логика что-то вроде

=SUMPRODUCT(LEN(FORMULATEXT(C2:C5))-LEN(SUBSTITUTE(FORMULATEXT(C2:C5),"+","")))

Но я получаю NA. Напоминание: когда нет "+"знаки & значение больше нуля, оно должно учитываться как 1.

help?

1 Ответ

0 голосов
/ 25 апреля 2018

Для этого есть хитрость, которая может оказаться немного запутанной для достижения желаемого конечного результата

Сначала определите новое имя в менеджере имен (в строке меню «Формула»)

Имя: FormulaText Относится к: =GET.CELL(6,OFFSET(INDIRECT("RC",FALSE),0,-1))

Теперь, если в ячейке B3 есть формула =10+20+30, введите =FormulaText в ячейку C3, и вы получите текстовую версию формулы

Теперь вы можете считать + символы в этой формуле, используя =LEN(C3)-LEN(SUBSTITUTE(C3,"+",""))

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

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

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