ご教授お願いします。
添付の表のようにベスト3まで店名を表示したいのですが、過去の質問で以下の数式を使うと表示をさせることは可能でした。
*****過去の質問の答え********************************
F2に
=OFFSET($A$1,0,MATCH(LARGE($B2:$D2,COLUMN()-COLUMN($E2)),$B2:$E2,0),1,1)
と入力して確定(エンター)
その後、このF2をF2:H4にコピーしてみてください。
*****過去の質問の答え********************************
ただし表の上のぶどうのように順位が同じになった時に、上位の店舗がダブって出てしまいます。
これを強制的に順位をつけ、下の表のようにしたい、数量が0だった時にー(バー)を表示させたいのですがそういったことは可能ですか?
ご教授お願いします。
No.1
- 回答日時:
A店とB店のどちらを上の順位にするかは特に指定なしですか?
店は3つだけですか?それとも簡略化させているだけですか?
セルの中身が長くなってしまうので、できるならIJK列あたりに、各順位の数値を一旦表示させておきたいところです。
とりあえずF2とG2を書きますね。F列はF2をG列とH列はG2をコピーしてください。
F2=IF(MAX(B2:D2)=0,"-",INDIRECT(ADDRESS(1,MATCH(LARGE($B2:$D2,COLUMN()-COLUMN($E1)),$A2:$D2,0))))
G2=IF(LARGE($B2:$D2,COLUMN()-COLUMN($E1))=0,"-",IF(LARGE($B2:$D2,COLUMN()-COLUMN($E1))=LARGE($B2:$D2,COLUMN()-COLUMN($E1)-1),INDIRECT(ADDRESS(1,SUMPRODUCT(($B2:$D2=LARGE($B2:$D2,COLUMN()-COLUMN($E1)))*1,(COUNTIF(INDIRECT("$B"&ROW()&":"&ADDRESS(ROW($B2:$D2),COLUMN($B2:$D2))),LARGE($B2:$D2,COLUMN()-COLUMN($E1)))+COUNTIF($B2:$D2,">"&LARGE($B2:$D2,COLUMN()-COLUMN($E1)))=COLUMN()-COLUMN($E1))*1,COLUMN($B2:$D2)))),INDIRECT(ADDRESS(1,MATCH(LARGE($B2:$D2,COLUMN()-COLUMN($E1)),$A2:$D2,0)))))
試行錯誤の末です…その順位の数字を何度も使っているので、別セルに表示できればもっと短くできます。
ご参考まで
No.2
- 回答日時:
それぞれの店に左から 0、0.1、0.2を引いて無理やり順位を付けた
F2セルに
=IF(LARGE($B2:$D2,F$1)=0,"-",INDEX($B$1:$D$1,MATCH(LARGE($B2:$D2-{0,0.1,0.2},F$1),$B2:$D2-{0,0.1,0.2},0)))
[Ctrl]+[Shift]+[Enter]配列数式、{}で囲まれる。
No.3
- 回答日時:
強制的にランクを付けるには、
この場合、横方向なので、列番号をランク付けの値に足してやります。(この場合、引きますけど…)
ただし、目立たないよう1000分の1にした値を足します。
そうすれば、見た目は同じランクでも、実は小数点以下の数字があるため強制的にランクが決定されます。
=OFFSET($A$1,0,MATCH(LARGE($B2:$D2 ,COLUMN()-COLUMN($E2)),$B2:$E2 ,0),1,1)
↓
=OFFSET($A$1,0,MATCH(LARGE($B2:$D2-COLUMN($B2:$D2)/1000,COLUMN()-COLUMN($E2)),($B2:$D2)-COLUMN($B2:$D2)/1000,0),1,1)
ただし、配列数式にしていますので、確定はCtrlキーとShiftキーを押しながらEnterキーを押してください。(Ctrl+Shift+Enter)
これを同位なら後ろの店を優先する場合は、1000分の1にしている部分
-COLUMN($B2:$D2)/1000
を引くのではなく、ホントに足してください。
※一部にB列からE列を参照するような部分があったので、B列からD列までに修正しています。それ、明らかに誤りです。
No.4
- 回答日時:
こんばんは!
一案です。
↓の画像のように別の列に作業用の表を作成してみてはどうでしょうか?
画像ではJ2セルに
=IF(B2>0,COUNTIF($B2:$D2,">"&B2)+COUNTIF($B2:B2,B2),"")
という数式を入れ、右へデータ分フィル&コピー → そのまま下へずぃ~~~!っとコピーしています。
そしてF2セルに
=IFERROR(INDEX($B$1:$D$1,,MATCH(SMALL($J2:$L2,COLUMN(A1)),$J2:$L2,0)),"-")
という数式を入れ、列・行方向にフィル&コピー!
これで画像のような感じになります。m(_ _)m
No.5ベストアンサー
- 回答日時:
No.4です。
>16店舗分になるとまた数式が変わっちゃいますか?
元データの配置はお示しの画像通りでよいのですね?
(画像が小さくて見えにくかったらごめんなさい)
元データはSheet1にあり、16店舗となると1位~16位までの表示は↓の画像のようにR列~AG列まで!とします。
やり方はまったく同じなのですが、作業用に別シートを使った方が良いと思います。
画像ではSheet2を作業用として使っています。
Sheet2のB2セルに
=IF(Sheet1!B2>0,COUNTIF(Sheet1!$B2:$Q2,">"&Sheet1!B2)+COUNTIF(Sheet1!$B2:Sheet1!B2,Sheet1!B2),"")
という数式を入れ店舗数(16列分)右へコピー → そのまま下へコピーしておきます。
そしてSheet1のR2セルに
=IF($A2="","",IFERROR(INDEX($B$1:$Q$1,,MATCH(SMALL(Sheet2!$B2:$Q2,COLUMN(A1)),Sheet2!$B2:$Q2,0)),"-"))
という数式を入れ、列・行方向にコピーすると
画像のような感じになります。
※ Sheet2のA列品名は不要ですが、
判りやすくするため入れています。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Excel(エクセル) 【関数】選択した文字列にしたがって、文字を選んで表示する 2 2023/07/13 22:44
- Excel(エクセル) エクセルについて教えてください。 1 2023/03/03 08:38
- Excel(エクセル) エクセルの複数条件作成方法について 2 2023/01/23 21:38
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- その他(データベース) 伝票番号、品番、在庫としてマクロでもAccessでもデータ表を作りたいのですが、ご指導お願いします 1 2022/11/13 23:48
- Excel(エクセル) 【エクセル】複雑な関数を教えてください 1 2023/06/05 18:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 文字を増やしたい。
-
エクセルの計算
-
セルの内容表示が邪魔になる
-
Excel
-
Microsoft365に変えたのですが...
-
エクセル:一覧表に存在する文...
-
エクセルで日付を数字+アルフ...
-
エクセルでの作業計算方法について
-
エクセルで年休を管理する方法...
-
はがきについて。
-
【マクロ】その時、その時で変...
-
excelの不要な行の削除ができな...
-
Microsoft1Officeの互換ソフト...
-
エクセル関数を教えてください
-
Excel ピボットテーブルで日付...
-
【マクロ】読取専用のファイル...
-
【関数】適切な文字数の数字を...
-
時間によってファイル名が変わ...
-
ある列、或いは、ある行のセル...
-
UNIQUE関数が使えないバージョ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報