- ベストアンサー
エクセル2021 高評価の自動表示
- BN12、BP12、BR12、BT12、BV12のセルにはそれぞれ下記の関数を入力しおり、指定した文字列(評価)の合計数字が表示されます。
- 上記の設定で、下記のように合計数値が一番高い文字列(評価)をBH12セルに表示する。
- BN12、BP12、BR12、BT12、BV12のセルすべて数値の表示なし(数値=0)の時にはなにも表示しない。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ひょっとしてBM12セルには”×”、BO12セルには”△”、BQ12セルには”〇”、BS12セルには”◎”、BU12セルには”☆”がそれぞれ入力されているのでしょうか? もしそうなのでしたらBH12セルに入力する関数を次のようなものにされると良いと思います。 =IF(SUM($BN12,$BP12,$BR12,$BT12,$BV12),XLOOKUP(MAX($BN12,$BP12,$BR12,$BT12,$BV12),$BN12:$BV12,$BM12:$BU12,,0,-1),"")
その他の回答 (4)
- SI299792
- ベストアンサー率47% (772/1616)
前回答は間違いです。 =MID("× △ 〇 ◎ ☆",XMATCH(MAX(BN12:BV12),BN12:BV12,,-1),1)
お礼
ありがとうございます。
- SI299792
- ベストアンサー率47% (772/1616)
=MID("× △ 〇 ◎ ☆",XMATCH(MAX(BN12:BV12),BN12:BV12,,-1)
お礼
ご回答ありがとうございます。
- kagakusuki
- ベストアンサー率51% (2610/5101)
まず前提条件としてBM12,BO12,BQ12,BS12,BU12の5つのセルには数値が入力される事が無いものとします。 その前提条件が成り立っているのであれば、BH12セルに入力する関数を次のようなものにされると良いと思います。 =IF(SUM($BN12:$BV12),INDEX({"☆","◎","〇","△","×"},MATCH(MAX($BN12:$BV12),INDEX($BN12:$BV12,{9,7,5,3,1}),0)),"")
- saramanda1
- ベストアンサー率32% (284/866)
以下の手順で、合計数値が一番高い文字列をBH12セルに表示する関数を作成できます。 ①BH12セルで、以下の式を入力します。 =IF(COUNTIF(BN12:BV12,">0")=0,"",INDEX({"☆","◎","〇","△","×"},MATCH(MAX(BN12:BV12),BN12:BV12,0))) ②式の解説: ・IF関数は、条件式が真の場合に指定した値、偽の場合に別の値を返します。ここでは、BN12からBV12のセルの合計数値がすべて0であれば、BH12セルに何も表示しないようにします。 ・INDEX関数は、指定された配列内の指定された位置にある値を返します。ここでは、{"☆","◎","〇","△","×"}という文字列配列から、MAX関数で最大値を求めたBN12からBV12の合計数値に対応するインデックスを求めます。 ・MATCH関数は、指定した値が配列内で最初に見つかった位置を返します。ここでは、MAX関数で求めた最大値に対応するインデックスを求めます。 ③式を入力した後、BH12セルを選択し、Ctrl + Shift + Enterキーを押して、式を配列式として確定します。 以上の手順で、合計数値が一番高い文字列をBH12セルに表示する関数を作成できます。
補足
早速のご回答ありがとうございます。 1・合計数字が表示されるBN12、BP12、BR12、BT12、BV12のセルが隣同士ではない為に、合計数字が表示される隣のセルに文字を入力すると、BH12セルの表示がエラー(#REF!)になってしまいます。 2・隣のセルを削除して合計数字が表示されるセルを隣同士にしても、一番高い文字列が複数(同一数値の文字列)ある時には、評価の高い文字列は表示されずに、評価の低い文字列の方が表示となってしまいます。 大変恐縮ですが、1・2の解決方法をご教授願います。
お礼
ご指摘のとおりBM12セルには”×”、BO12セルには”△”、BQ12セルには”〇”、BS12セルには”◎”、BU12セルには”☆”が入力されています。 ご回答いただきましてありがとうございます。