[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『数値と文字列の大小比較し出力』(まさ)
数値と文字列を含んだものの大小を比較して、小さいものを出力したいです。
例えば等級が大きいものから、特級、1級、2級、3級、不合格の順番であるとします。
列Aと列Bにこの等級があり、小さい方の等級を列Cに出力したいのですが、どうしたら
よいでしょうか?
※数字だけの等級ならIF関数ですんなり出来たのですが、文字の等級が絡むと、よく分かりません。
回答よろしくお願いいたします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
こんにちわ
作業列を設けてはいかがですか? D列に等級を順番に並べ、判断するのが良いかと思います。
1)D列を新たに作る 2)C列にE1の数式を入れる 3)必要範囲までコピー
|[A] |[B] |[C] |[D] |[E] [1] |特級 |特級 |特級 |特級 |=INDEX(D:D,MAX(MATCH(A1,D:D,0),MATCH(B1,D:D,0))) [2] |特級 |1級 |1級 |1級 | [3] |特級 |2級 |2級 |2級 | [4] |特級 |3級 |3級 |3級 | [5] |特級 |不合格|不合格|不合格| [6] |1級 |特級 |1級 | | [7] |1級 |1級 |1級 | | [8] |1級 |2級 |2級 | | [9] |1級 |3級 |3級 | | [10]|1級 |不合格|不合格| | [11]|2級 |特級 |2級 | | [12]|2級 |1級 |2級 | | [13]|2級 |2級 |2級 | | [14]|2級 |3級 |3級 | | [15]|2級 |不合格|不合格| | [16]|3級 |特級 |3級 | | [17]|3級 |1級 |3級 | | [18]|3級 |2級 |3級 | | [19]|3級 |3級 |3級 | | [20]|3級 |不合格|不合格| | [21]|不合格|特級 |不合格| | [22]|不合格|1級 |不合格| | [23]|不合格|2級 |不合格| | [24]|不合格|3級 |不合格| | [25]|不合格|不合格|不合格| |
でいかがでしょう? (稲葉) 2018/12/24(月) 11:28
実際の運用とか制限は色々あるでしょうけど、 私だったら、表示形式で処理すると思います。 例えば 実際の数字 等級 = 0 表示形式 = 等級 1級 = 1 表示形式 = #級 2級 = 2 表示形式 = #級 3級 = 3 表示形式 = #級 不合格= 4 表示形式 = 不合格
とすれば、普通の数式で出来ますよね?
要は、見た目とExcelとでは違うということです
最初に、変えるのがちょっと面倒かも?です。 (SoulMan) 2018/12/24(月) 11:30
どこかに対応表作ってVLOOKUPで参照した数値で大小比較するのでも。。。^^; 特級 1 1級 2 2級 3 3級 4 不合格 5
(隠居じーさん) 2018/12/24(月) 11:42
SoulManさん なるほど、勉強になりました。
[=0]"特級";[<4]#"級";"不合格" こういうことですね。
そうすればMAX関数のみで対応できますね。 (稲葉) 2018/12/24(月) 11:44
F16 → G20 に 表があると仮定して C列に
=IF(VLOOKUP($A1,$F$16:$G$20,2,0)<VLOOKUP($B1,$F$16:$G$20,2,0),B1,A1)
^^: でも、できなくはないみたいな。。。程度で。。。お聞き流しください 割り付け番号が逆でしたらお許しを m(_ _)m (隠居じーさん) 2018/12/24(月) 11:56
いやいやぁ、稲葉さんに比べたら 私なんか全然ですからねぇ(笑) 恐縮です これからもよろしくお願いします😃 (SoulMan) 2018/12/24(月) 12:03
今更ですが、今回の例でお遊び。
=IF(SUBSTITUTE(B1,"特",0)>SUBSTITUTE(A1,"特",0),B1,A1)
>例えば等級が
この「例えば」を昇降順で設定すると楽かも。 (GobGob) 2018/12/24(月) 12:57
殆ど稲葉さんの受け売りですけど、
特級 → 0 1級 → 1 2級 → 2 3級 → 3 不合格 → 4 と置換して
表示形式を [=0]"特級";[<4]#"級";"不合格" として
後は、数式でお好みにでしょうか? (SoulMan) 2018/12/24(月) 13:06
すでにSoulManさんから回答ございますが、参考サイトなども載せておきます。
セルの書式設定【条件付き書式】 https://excel-master.net/cells-worksheets-control/conditional-format/
置換 https://dekiru.net/article/12053/
1)A:C列を選択する 2)選択箇所のいずれかを右クリック>セルの書式設定 3)「表示形式」タブ>ユーザー定義 4)種類:(T)のボックスに [=0]"特級";[<4]#"級";"不合格" と入力 5)OK 6)選択状態のまま、Ctrl+H 7)検索する文字列:特級 置換後の文字列:0 すべて置換 8)7)を1級(1)〜不合格(4)まで繰り返す 9)C1セルに =MAX(A1:B1) と入力し、必要な範囲のコピー (稲葉) 2018/12/24(月) 13:07
中級が増えた場合の解決方法はありますでしょうか??
(まさ) 2018/12/24(月) 16:19
の投稿を参考にしてください。 (稲葉) 2018/12/24(月) 16:23
表示形式のユーザー設定って
条件1;条件2;その他;文字列
数値3つ+文字列じゃなかったっけ? (うろ覚え) (GobGob) 2018/12/24(月) 17:16
GobGobさん その認識でよいと思います。
特級 0[=0] 1級 1[<4] 2級 2[<4] 3級 3[<4] 不合格4その他
が
特級 0[=0] 中級 ? 1級 1[<4] 2級 2[<4] 3級 3[<4] 不合格4その他
となった場合、表示形式の設定だけじゃ、すべてを数字に置き換えできない=簡単に比較できない という意味で「無理でした」になったのではないかと・・・
(稲葉) 2018/12/24(月) 17:38
いざとなれば、ホーム→条件付き書式で表示形式を決めるという手もありますね。 質問者さんはご自身で修正できないなら、条件分けは最初に全て 提示していただければ、手間が省けるかと。 (コナミ) 2018/12/25(火) 07:54
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.