アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。「108」の近似値(大きい方)を表中の「SB」行から抽出したい場合、どのような数式になるでしょうか(回答として「115」を期待)
どうぞよろしくお願いいたします。

「エクセルで近似値を特定の行から抽出したい」の質問画像

A 回答 (3件)

添付画像①をご覧ください。

ご質問者の掲出された表のうちD2セルだけを105に変えています。
SBの行から108より大きくて最も近い値を探すなら、C4セルの115が欲しい答えということになります。

>「SB」行の指定は、vlookupのように数式で見に行ってくれる形を希望しています。

ということなので、J1セルに行の名前を指定できるようにしてみました。
ご質問の例は検索する値が108ということですが、こちらも検索値をL1セルに入力する方式としました。
検索結果はL2セルに表示するものとし、ここに

=IFERROR(AGGREGATE(15,6,(C3:G7)/(B3:B7=$J$1)/(C3:G7>$L$1),1),"該当なし")・・・(a)

という数式を記述しています。

また、近似値を探すという課題においては、「たまたまピッタリのものがあったらどうするか」を考えておかなくてはいけません。
画像②をご覧ください。今度はD2セルを108に変えています。この状態だと、上記(a)の数式はC4セルの115が答えになります。仮に「ピッタリのものがあったらそちらにする」ということなら

=IFERROR(AGGREGATE(15,6,(C3:G7)/(B3:B7=$J$1)/(C3:G7>=$L$1),1),"該当なし")・・・(b)

という数式になります。
こうすると、D2セルの108が答えになります。

なお、(a)(b)の数式とも、同じ行に同じ数値が存在する場合でその数値が答えとなる場合、数値は特定できますが、同じ値である以上セルを特定することができないのは明らかです。セルを特定するならセルを特定する条件(例えば【同じ数値のときは列番号の小さい方】といったルール)が必要になります。
「エクセルで近似値を特定の行から抽出したい」の回答画像2
    • good
    • 1
この回答へのお礼

詳しいご回答をいただきありがとうございます。AGGREGATE関数は使ったことがなかったため、大変勉強になりました。

お礼日時:2023/05/30 17:08

[No.1お礼]へのコメント、


》 INDEXとMACTH関数との組み合わせがどうしても分かりません。

失礼ながら初心者なら、この機会にベンキョーすれば好いのにッ!
ちなみに、VLOOKUP(HLOOKUP)は行(列)だけの検索、MATCHは行列両方の検索が可能であることを知るべきかと。

添付図参照(Excel 2019)
1.式 =IF(C3-$J$2>0,C3-$J$2,"") を入力したセル I3 を右方4列&下方5行にオートフィル
2.式 =IF(MIN(I3:M3)>0,MIN(I3:M3),"") を入力したセル N3 のフィルハンドルを「エイヤッ!」とダブルクリック
3.式 =IFERROR(VLOOKUP(H9,B$3:N$7,13,FALSE)+J$2,"")
を入力したセル I9 のフィルハンドルを憎々し気に「エイヤッ!」とダブルクリック
オ・シ・マ・イ
「エクセルで近似値を特定の行から抽出したい」の回答画像3
    • good
    • 1
この回答へのお礼

追加で詳しい解説をいただき、ありがとうございました。

お礼日時:2023/05/30 17:06

=INDEX(C4:G4,MATCH(MIN(C4:G4),C4:G4,0))


【お断わり】上式は必ず配列(CSE)数式として入力のこと
    • good
    • 1
この回答へのお礼

さっそくご回答いただきありがとうございます!私の説明が不足していたのですが「SB」行の指定は、vlookupのように数式で見に行ってくれる形を希望しています。INDEXとMACTH関数との組み合わせがどうしても分かりません。

お礼日時:2023/05/30 08:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!