#excel #excel-formula #excel-2010
#excel #excel-формула #excel-2010
Вопрос:
Вероятно, это простое исправление (хотя я думаю, что это означает, что это, вероятно, не так), поэтому я заранее приношу извинения, если это просто детская игра.
На листе Excel, над которым я работаю, у меня есть диапазон (для этого примера A1: A10), который может содержать одну из 3 переменных (не включая пробелы) — A, B или C.
Мне требуется формула в другой ячейке для просмотра рассматриваемого диапазона и вывода значения на основе следующих правил в этом приоритете:
- Если A появляется в любом месте столбца, независимо от других входных данных, отобразите;
- Если в столбце отображаются B и C, отобразите;
- Если в столбце отображается только B, отобразите B;
- Если в столбце отображается только C, отобразите C; и
- Если все ячейки в столбце пусты, отобразите пустой
Для правил 1-4 не следует учитывать любые пустые ячейки в столбце. Это следует учитывать только там, где все ячейки пустые, т. Е. правило 5.
Я пробовал формулы IF, но обнаружил, что они учитывают только одну ячейку. Также я попытался использовать SUMPRODUCT вместе с IF, но столкнулся с проблемой. Формула, которую я использовал, была:
IF(SUMPRODUCT(--(--(A1:A10="A")),"A",IF(SUMPRODUCT(--(A1:A10="B")),IF(SUMPRODUCT(--(A1:A10="C")),"A",IF(SUMPRODUCT(--(A1:A10="B")),"B",IF(SUMPRODUCT(--(A1:A10="C")),"C","")))))
Теперь я знаю, что это кажется затянувшимся, но до правила 3 все работает нормально. При попытке использовать правило 4 или 5 формула возвращает только FALSE
Я полностью за то, чтобы вышеупомянутая формула была изменена, чтобы она работала, или за другую формулу полностью, но я пробовал искать везде и ничего не могу найти по этому поводу (хотя это, вероятно, связано с тем, что я неправильно формулирую свой вопрос / поиск).).
Любая помощь была бы высоко оценена. Заранее спасибо!
Ответ №1:
Используя предоставленный вами пример, это даст желаемые результаты:
=INDEX({"","C","B","A"},MATCH(SUMPRODUCT({3,2,1},--(COUNTIF(A1:A10,{"A","B","C"})>0)),{0,1,2,3}))
Ответ №2:
Не самый простой ответ, но он также работает:
{=IF(SUM(--($A$1:$A$10="A") (($A$1:$A$10<>"A")*(SUM(--($A$1:$A$10="B"))>0)*(SUM(--(A1:A10="C"))>0)))>0,"A",IF(SUM(--($A$1:$A$10="B"))>0,"B",IF(SUM(--($A$1:$A$10="C"))>0,"C",IF(SUM(--(ISBLANK($A$1:$A$10)))=ROWS($A$1:$A$10),""))))}
По общему признанию, это не так элегантно, как вышеупомянутое решение.