Могу ли я использовать функцию сопоставления Excel для сопоставления более чем одного типа значения

2

В другом заданном мной недавно вопросе мне было показано, как использовать функцию сопоставления Excel для запроса моих данных, чтобы получить сводную таблицу типов:

Создание формулы для запроса данных в столбце B на основе выбора из столбца A в Microsoft Excel

Мне была очень полезна эта формула, которая работает очень хорошо:

= IF (ISERROR (МАТЧ ($ A $ 1: $ A $ 2 & amp; «Не кормили», животные! A $ 2: A $ 7 и животные! B $ 2: B $ 7, 0)), «Все животные накормлены», «Все Животные не накормлены ")

Теперь я смотрю, есть ли способ расширить эту формулу для соответствия столбцу, содержащему более одного типа значения (потенциально до 3 или 4 различных значений).

Например:

enter image description here

Вывод, который я хотел бы видеть на основе вышеизложенного,

enter image description here

Я попробовал что-то вроде:

= ЕСЛИ (ISERROR (МАТЧ ($ A $ 1: $ A $ 2 & amp;; (ИЛИ ("ФРС", "Частично ФРС", "Несколько ФРС")) Животные! A $ 2: A $ 7 и животные! , 0)), "Все животные накормлены", "Все животные не накормлены")

... но это не сработало и, по логике, вероятно, это даже не правильный маршрут, основанный на том, как я хочу, чтобы это велось! По существу, пока диапазон B1: B7 для данного AnimalType не содержит ничего, кроме разрешенных значений (в любом количестве / соотношении), я хочу, чтобы функция возвращала true.

cw84
источник
Каково ожидаемое поведение, если животное имеет как скормленные, так и недоеденные значения?
ssssteffff
Если диапазон не состоит исключительно из значений, которые составляют истину (то есть, частично ФРС, отчасти ФРС, ФРС), тогда формула должна вернуть false («Все животные не являются ФРС»). Поэтому, если Dog был, Fed, Fed, Not Fed, «Все животные не Fed» должны быть возвращены. Надеюсь, это имеет смысл.
cw84
Когда вы вводите эти формулы, какое поведение вы получаете? Я думаю, что первый все еще работает, какой результат вы получаете?
ssssteffff

Ответы:

2

То, что вы пытаетесь сделать, это Кросстабуляция (ака перекрестный ). Инструмент для этого в Excel называется PivotTable ,

К сожалению, сводные таблицы не совместимы с качественными данными, поэтому для того, чтобы это заработало, вам нужно добавить столбец, который представляет ваши данные с подачей / без подачи в виде числового значения.

Например, если вы используете =IF(B2="Not Fed",1,0) вы получите столбец, в котором, если какое-либо животное «не накормлено», вы получите один. (Обратите внимание, что вы не указали, что должно произойти, если Fed? поле пустое для строки или имеет другое удивительное значение. Вы не сказали, что вы хотите, чтобы произошло в случае, если "birds" -> {"not fed", "partially fed", "fed"}, Какое точное IF выражение вы используете, зависит от ваших ответов на эти вопросы.)

Затем вы выбираете весь диапазон со всеми тремя столбцами (или помещаете новый столбец между ними, выбираете только животных и вычисляемый столбец, а затем выбираете «Отчет сводной таблицы» в меню «Данные»).

Мастер проведет вас через серию диалогов. На первом ваши данные находятся в «списке или базе данных Microsoft Excel». Во-вторых, если вы выбрали свои данные до того, как запустили мастер, он должен по умолчанию правильно указать диапазон данных.

В третьем диалоге не нажимайте Finish немедленно. У вас есть куча вариантов, которые вам нужно установить. Во-первых, в этом диалоговом окне вам будет предоставлен выбор места размещения новой сводной таблицы. Я рекомендую поместить вашу сводную таблицу на новый лист. Далее нажмите «Макет ...». Перетащите поле «Животные» в левую колонку («Ряд»). Перетащите заголовок в новый столбец в Область данных в середине; когда вы сделаете это, оно будет отображаться как «Сумма nameoffield». Дважды щелкните по нему, измените имя на что-то вроде "Есть ли животные лишены?" и измените тип сводки на «Макс», нажмите «ОК», затем снова нажмите «ОК», чтобы завершить диалог «Макет». Вы все еще находитесь на шаге 3 диалогового окна мастера. Нажмите «Параметры ...». Снимите флажок «Общий итог для столбцов» и убедитесь, что «Общий итог для строк» ​​включен. Включите «For Error Values ​​Show» (очень важно для этого) и установите для него значение 0, и нажмите «Okay». Затем, наконец, вы можете нажать «Готово» мастера.

Вы должны получить новый лист с надписью:

Are any animals unfed?  
Animals Total
Cat     0
Dog     1

Теперь вы можете войти в колонку сразу после этого, =IF(B3=1, "Some Animals Not Fed", "All Animals Fed") и так далее вниз по столбцу, и если какое-либо одно животное в типе является «не кормили», оно будет читать «некоторые животные не кормили», в противном случае «все животные скармливаются»). Теперь вы можете скрыть столбец B и видеть только:

Are any animals unfed?  
Animals 
Cat     All Animals Fed
Dog     Some Animals Not Fed
Codeswitcher
источник
Большое спасибо за ваш ответ - очень информативный урок в сводных таблицах. Я давно знал об этом, но считал их более продвинутыми, тогда как на самом деле они довольно просты. Теперь я применил ваши учения к моему реальному сценарию на работе (отслеживание статуса завершения разработки), и он работает отлично.
cw84
0

Я хотел бы создать сводную таблицу (вставить ленту) из диапазона. Я бы перетащил поле AnimalType в зону Метки строк, а ФРС? Поле для зоны меток столбцов. Я бы перетащил поле AnimalType в зону значений.

Это даст вам количество животных по типу и статусу ФРС, с итогами по строкам и столбцам. Они могут ответить на все вопросы, на которые вы пытаетесь ответить, без кодирования каких-либо формул, в структуре, которая может быть легко расширена для включения других столбцов и значений.

Pivot Table example

Mike Honey
источник