Посмотрите, работает ли это для вас:
=IF(ISNA(MODE.MULT(MyData)),IF(ISNA(MATCH(4,MyData,0)),Fruit,4),IF(ISERR(INDEX(MODE.MULT(MyData),2)),MODE.MULT(MyData),IF(ISNA(MATCH(4,MODE.MULT(MyData),0)),Fruit,4)))
введено как формула массива CTRL-SHIFT-ENTER
.
Здесь MyData
является заполнителем для строки данных. В вашем примере MyData
будет одной строкой из столбцов B-F; для случая A MyData = {1,1,1,1,2}. Fruit
является заполнителем соответствующего значения из столбца G. Вы можете заменить MyData
на B2:F2
и Fruit
на G2
, затем скопировать и вставить в другие места.
Вот как это работает. В формуле используется функция MULT.MODE
Excel, которая возвращает столько значений режима, сколько имеется в данных.
MULT.MODE
возвращает N/A
, если в MyData
нет повторяющихся элементов. Это ситуация для ваших дел D и E. Это означает, что есть N-way tie, поэтому мы должны применить правила разрыва связей. Это делается с помощью функции MATCH
, чтобы узнать, найдено ли 4 в MyData
; если это так, верните 4, в противном случае верните Fruit
.
Если MyData
имеет повторяющиеся элементы, MULT.MODE
возвращает массив, содержащий режим или найденные режимы. Если связь отсутствует, MULT.MODE
возвращает один элемент, иначе массив будет содержать как минимум два элемента. Чтобы проверить связи, мы пытаемся получить доступ ко 2-му элементу массива с использованием INDEX(MULT.MODE(MyData),2)
. Это приведет к ошибке, если нет связи.
Если связи нет, найдите полученную ошибку с помощью ISERR
. Без связи мы возвращаем результат MULT.MODE
.
При наличии связи ошибка не возникает. В этом случае мы используем MATCH
для поиска 4 в результатах MULT.MODE
. Если 4 найдено, мы возвращаем 4; если не вернуть Fruit
.
Надеюсь, это поможет.