Пример. У меня есть 3 набора данных, и я хочу узнать минимальное значение для этих 3 наборов.
1st set F4/E4
2nd set H4/G4
3rd set J4/I4
Допустим, у меня нет данных по третьему набору (выделено желтым), я хочу сравнить только первый и второй наборы.
Что мне ввести в качестве формулы? Формула ниже не работает, так как показывает 0, если какой-либо из наборов не заполнен.
Решается следующим образом. Добавьте цену за единицу по следующей формуле.
=IF(OR(ISBLANK(K8),ISBLANK(L8)),"",MIN(L8/K8))
затем формула для минимальной цены по данным цены за единицу
=IF(OR(F8,E8,I8,H8,L8,K8)<>"",MIN(G8,J8,M8))
решение1
Следующая формула массива (CSE) решает эту проблему:
Формула в ячейке AN10
:
{=MIN(IF($AN$2:$AN$8 <>"",$AN$2:$AN$8))}
- Закончите формулу сCtrl+Shift+Enter.
Отредактировано 1:
Поскольку автор хочет получить минимальное значение по единицам (через комментарии ниже), я предлагаю следующий метод.
- Введите имя блока в
AM12:AM14
. Вы можете использовать эту формулу массива (CSE) в ячейке
AM12
, чтобы получитьUNIQUE Unit list
, если имеется длинный список единиц измерения.{=IFERROR(INDEX($AM$2:$AM$8, MATCH(0,COUNTIF($AM$11:AM11, $AM$2:$AM$8), 0)),"")}
Формула массива (CSE) в ячейке
AN12
.
{=MIN(IF(AM$2:AM$8=AM12,IF(AN$2:AN$8<>"",AN$2:AN$8)))}
- Закончите формулу сCtrl+Shift+Enter.
Отредактировано 2:
Основная причина второго редактирования — финальный поворот, заданный автором (загруженный скриншот).
Формула массива (CSE) в ячейке
M32
.{=IF(F32:K32>0,MIN(F32*G32,H32*I32,J32*K32),0)}
Стакже скопируйте формулу в Cell M34
.
Примечание.
Причина, по которой данные умножаются вместо деления, заключается в том, чтобы избежать
#DIV/0
ошибок, посколькуJ34 & K34
они пусты.И логично
Quantity multiplied by Price
.Кроме того, эту формулу массива можно использовать также в ячейке
N32 & N34
.
{=MIN(IF($F32:$K$34 >0,$F$32:$K$32))}
- Закончите формулу сCtrl+Shift+Enter.
При необходимости измените ссылки на ячейки в формуле.