Слишком глубоко. Смешивание с заявлениями А Нужен ли массив? - PullRequest
1 голос
/ 27 февраля 2020

Я нахожусь глубоко в кроличьей норе Excel и не могу выбраться.

Столбец A имеет значения; Колонка B имеет раскрывающийся список (3 элемента). Ячейки K1: M10 также имеют значения.

Я пытаюсь написать формулу, которая гласит:

Если A1 равен 1, а B2 имеет раскрывающееся значение «Name1», вставьте K1. Если A1> 1, а B2 имеет выпадающее значение «Name1», то сумма K1: K10.

Если A1 1 и B2 имеет выпадающее значение «Name2», вставьте L1. Если A1> 1, а B2 имеет выпадающее значение «Name2», то сумма L1: L10.

Если A1 1 и B2 имеет выпадающее значение «Name3», вставьте M1. Если A1> 1, а B2 имеет выпадающее значение «Name3», то Sum M1: M10.

Я понял это (у меня есть формула, работающая для каждой пары строк выше), но я могу: Кажется, все это успешно сложено.

Боюсь, у меня над головой. Кто-нибудь может предложить помощь? Нужно ли изучать массивы?

Ответы [ 2 ]

1 голос
/ 27 февраля 2020

Попробуйте эту формулу после создания именованного диапазона с именем «NameList», в котором вы пишете элементы «Name1», «Name2» и «Name3». Используйте этот же список и в качестве источника раскрывающегося списка в B2.

=SUM(INDEX($K$1:$M$10,IF($A1>1,0,1),MATCH($B$2,NameList,0)))

Формула рассматривает диапазон $ K $ 1: $ M $ 10 и выбирает один столбец из него в зависимости от результата Функция MATCH (которая ищет совпадение для B2 в NameList). Если A1> 1, столбец ввода суммируется, иначе только его первая ячейка. Очевидно, что это решение требует, чтобы три столбца были смежными.

Рассмотрите возможность включения всей формулы в ложную часть IF(A1 < 1, "", False)

0 голосов
/ 27 февраля 2020
=SUM(INDEX(CHOOSE(MATCH(B2,{"Name1","Name2","Name3"},0),K1:K10,L1:L10,M1:M10),IF(A1=1,1,0),1))

Сначала он выбирает диапазон для работы, основываясь на B2. Затем, используя INDEX, он выбирает либо первую ячейку этого диапазона (когда IF возвращает 1), либо весь диапазон (когда IF возвращает 0) и передает его в SUM. Сумма одной ячейки равна этой ячейке, поэтому SUM(K1) будет K1 в случае A1=1.

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