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

エクセルのわからない関数を教えてほしいです。
  A B C
1 りんご  100円  100個
2 みかん  100円  205個
3 もも   100円  300個
4 すいか  100円  280個
5 いちご  100円  240個
6 かき   100円  320個

D1=250個

E1=A1~C6のデータの中でC列がD1の数値に1番近いデータのA列を抽出=いちご
F1=A1~C6のデータの中でC列がD1の数値に2番目に近いデータのA列を抽出=すいか
G1=A1~C6のデータの中でC列がD1の数値に3番目に近いデータのA列を抽出=みかん
H1=A1~C6のデータの中でC列がD1の数値に4番目に近いデータのA列を抽出=もも
I1=A1~C6のデータの中でC列がD1の数値に5番目に近いデータのA列を抽出=かき
J1=A1~C6のデータの中でC列がD1の数値に6番目に近いデータのA列を抽出=りんご

となるようにそれぞれ教えていただければ嬉しいです!
よろしくお願いいたします!

A 回答 (3件)

No.2です。



>近いではなく遠い場合のデータ抽出は分かりますでしょうか?

前回の画像通りの配置だとして、作業列2の数式に手を加えるだけで対応できます。
Sheet2のB2セルの数式を
=IF(A2="","",COUNTIF(A:A,">"&A2)+COUNTIF(A$2:A2,A2))

としてください。
他のセルの数式はそのままで大丈夫です。

※ 作業列2の数式の不等号の向きを変えるだけです。

※ 前回書き忘れましたが、Sheet1のC列「数量」に同数がある場合
上側のデータが先に表示されます。m(_ _)m
    • good
    • 0
この回答へのお礼

とても分かりやすく教えてくださりありがとうございます!

お礼日時:2017/05/31 08:45

こんにちは!



一案です。作業用の列を使ってみてはどうでしょうか?
↓の画像のように元データはSheet1にあり、作業用としてSheet2の2列を使っています。

Sheet2のA2セルに
=IF(Sheet1!C2="","",ABS(Sheet1!D$1-Sheet1!C2))

B2セルに
=IF(A2="","",COUNTIF(A:A,"<"&A2)+COUNTIF(A$2:A2,A2))

という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルでSheet1にこれ以上データはない!という位までコピーしておきます。

Sheet1のE1セルに
=IFERROR(INDEX($A:$A,MATCH(COLUMN(A1),Sheet2!$B:$B,0)),"")

という数式を入れフィルハンドルで右へずぃ~~~!っとコピー!
これで画像のような感じになります。

※ Sheet1のC列に万一同数があっても対応できるように
Sheet2のB列は敢えて「RANK関数」は使っていません。m(_ _)m
「エクセル 関数について」の回答画像2
    • good
    • 0
この回答へのお礼

わかりやすく教えていただきありがとうございます!
ちなみに、近いではなく遠い場合のデータ抽出は分かりますでしょうか?

お礼日時:2017/05/30 09:20

C列がD1の数値にn番目に近いデータが複数ある場合はどうする、どうする?


「近いデータ」は、±の両方を覚悟する必要もありますよ。
    • good
    • 0

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