#excel #excel-2007 #worksheet-function
#excel #excel-2007 #рабочий лист-функция
Вопрос:
Предположим, у меня есть следующая таблица:
State CompanyTypes Year Sales
AZ A, C 2008
CA B, C, D 2009
TX C 2007
WA A, D 2008
Мне нужно заполнить Sales
столбец на основе SUM
объема продаж по всем типам компаний для определенного штата в определенном году.
Исходная таблица со всеми данными выглядит следующим образом:
Year State CompanyType TotalSales
2008 AZ A 100
2008 AZ C 500
2009 CA B 9000
2009 CA C 15664
2009 CA D 12351
2008 TX C 5
2009 WA A 789
Я знаком с SUMIF
, но я не знаю, как заполнить Sales
столбец первой таблицы из-за значений, разделенных запятыми, в столбце CompanyTypes.
Кто-нибудь знает??
Комментарии:
1. Я не уверен, как выполнить это с помощью функций Excel, но небольшой макрос сможет легко выполнить эту задачу
Ответ №1:
Рэй, я заметил, что таблица продаж обладает следующим свойством: в каждой строке комбинация состояния и года уникальна в том смысле, что «AZ» и «2008» появляются только один раз среди всех строк. Если это верно, то эта формула должна работать
=SUMIFS(D4:D10,A4:A10,I4,B4:B10,G4)
Эта формула находит сумму всех продаж в определенном штате за конкретный год, независимо от компании. Обратите внимание, что это не сработает, если у вас есть что-то подобное в таблице sales.
AZ A 2008
AZ C 2008
Вместо этого вы можете использовать следующую формулу, которая является длинной, хотя и более общей.
=IF(
IFERROR(
FIND("A",$H4),
0
),
SUMIFS(
D$4:D$10,
C$4:C$10,"A",
A$4:A$10,$I4,
B$4:B$10,$G4
),
0
)
IF(
IFERROR(
FIND("B",$H4),
0
),
SUMIFS(
D$4:D$10,
C$4:C$10,"B",
A$4:A$10,$I4,
B$4:B$10,$G4
),
0
)
IF(
IFERROR(
FIND("C",$H4),
0
),
SUMIFS(
D$4:D$10,
C$4:C$10,"C",
A$4:A$10,$I4,
B$4:B$10,$G4
),
0
)
IF(
IFERROR(
FIND("D",$H4),
0
),
SUMIFS(
D$4:D$10,
C$4:C$10,"D",
A$4:A$10,$I4,
B$4:B$10,$G4
),
0
)
Вы можете скопировать и вставить это непосредственно в строку формул.
Эта формула содержит 4 блока «ЕСЛИ», по одному для каждого типа компании. Если их больше, следует также добавить соответствующие блоки ‘IF’.
Ссылка на документы Google, содержащие две таблицы. Формула была протестирована в Excel 2010. Google Docs показывает не формулу, а сумму, которую она рассчитала при импорте файла Excel.
Надеюсь, это поможет.
Ответ №2:
Основываясь на точном формате в типах компаний «A, B, C» (т. Е. пробелы имеют значение), вы можете использовать следующую формулу. Я использовал именованный диапазон «CT» для CompanyType, «TS» для TotalSales, «State» для State, все в исходной таблице. У меня были типы компаний в столбце B, а первый столбец состояния — A.
=SUMIFS(TS, CT, MID(B2,1,1), State, A2)
SUMIFS(TS, CT, MID(B2,4,1), State, A2)
SUMIFS(TS, CT, MID(B2,7,1), State, A2)
Просто поместите это в первую ячейку Sales (например, предполагаемая строка 2) и заполните ее.