たとえば、3 セットのデータがあり、この 3 セットの最小値を知りたいとします。
1st set F4/E4
2nd set H4/G4
3rd set J4/I4
3 番目のセットにはデータがありません (黄色でハイライト)。1 番目と 2 番目のセットのみを比較したいとします。
数式として何を入力すればよいですか? 以下の数式は、セットのいずれかが入力されていない場合は 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:
OP はユニットごとの最小値 (以下のコメントを通じて) を取得しようとしているため、次の方法を提案します。
- ユニット名を入力してください
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:
2 回目の編集の背後にある主な理由は、OP (アップロードされたスクリーンショット) によって与えられた最終的なひねりです。
セル内の配列 (CSE) 数式
M32
。{=IF(F32:K32>0,MIN(F32*G32,H32*I32,J32*K32),0)}
Cセル内でM34
も数式をコピーします。
注意
データを除算するのではなく乗算する理由は、空白である
#DIV/0
ためエラーを回避するためですJ34 & K34
。また、論理的に
Quantity multiplied by Price
。さらに、この配列数式は Cell でも使用できます
N32 & N34
。
{=MIN(IF($F32:$K$34 >0,$F$32:$K$32))}
- フォーミュラを仕上げるCtrl+Shift+Enter。
必要に応じて数式内のセル参照を調整します。