• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:★EXCEL2007★最小値から2個の値を得たい(INDEXとSMAL)

EXCEL2007で売り上げの少ない月を抜き出す方法

このQ&Aのポイント
  • EXCEL2007を使ってワークシートを作成しています。月ごとの売り上げがあり、売り上げの少ない月を2つ抜き出したいと考えています。INDEXとSMALL関数を使用して1番目と2番目を取得しようとしています。
  • しかし、同じ値が複数回出てしまった場合に問題が発生します。最終的な目的は正確な数字ではなく、売り上げの傾向を知ることです。つまり、売り上げの少ない月を2つ抜き出し、その月の値を表示したいのです。
  • だたし、同じ値が複数回出てしまった場合には、どの2つを抜き出しても構わないということです。つまり、2番目と3番目の数字が同じだった場合でも、どちらを抜き出しても良いということです。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 一例です。 ↓の画像のように作業用の行を設けています。 作業行B3セルに =IF(COUNTIF($B$2:B2,B2)=1,RANK(B2,$B$2:$M$2,1),"") という数式を入れ、オートフィルで列方向にコピーします。 結果のB5セルに =INDEX($B1:$M1,,MATCH(COLUMN(A1),$B$3:$M$3,0)) という数式を入れ、列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 以上、参考になれば良いのですが 他に良い方法があれば読み流してくださいね。m(__)m

tomoki_su
質問者

お礼

ありがとうございます。おかげさまで解決しました。

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

A1セルからL1セルにかけて1月から12月が入力されているとします。 それぞれの月の売り上げ個数が2行目に有るとします。 3行目は作業列としてA3セルには次の式を入力してL3セルまでオートフィルドラッグします。 =IF(A2="","",A2+COUNTIF($A$2:A$2,A2)/100) そこで結果の表示ですが5行目と6行目に1番目と2番目を表示させるとしたらA5セルに次の式を入力してB5セルまでオートフィルドラッグしたのちに下方にもーとフィルドラッグします。 2番目ばかりでなく3番目や4番目を表示する場合には横方向へのドラッグのセル数を増やすことで可能です。 =IF(ROW(A1)=1,INDEX($A$1:$G$1,MATCH(SMALL($A$3:$G$3,COLUMN(A1)),$A$3:$G$3,0)),IF(ROW(A1)=2,INT(SMALL($A$3:$G$3,COLUMN(A1))),"")) なお、作業の行が目障りでしたら3行目を右クリックして「非表示」にすればよいでしょう。

tomoki_su
質問者

お礼

ありがとうございます。おかげさまで解決しました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

A1セルから月が、A2セルから数値データが入力されているなら、以下のような関数で同じ順位があるデータでも、上位2つの(いくつでも)表示することができます。 =INDEX($A$1:$H$1,MATCH(SMALL($A2:$H2+COLUMN($A2:$H2)/10000,COLUMN(A1)),$A$2:$H$2+COLUMN($A2:$H2)/10000)) 配列数式ですので数式入力後、Ctrl+Shift+Enterで確定してください。

tomoki_su
質問者

お礼

ありがとうございます。おかげさまで解決しました。

noname#119360
noname#119360
回答No.1

降順ソートした結果から、上位二行分だけ確認すれば済みそうに見えます。

tomoki_su
質問者

お礼

ありがとうございます。おかげさまで解決しました。