エクセルで〇~〇の数値の場合決まった文字に変換する
タイトルではわかりにくいですが、
具体的に言うと数値を打ち込んだ時に0~30なら「標準」、30~50なら「5割減」、50~100なら「10割減」と変換されるようにしたいです。
投稿日時 - 2018-01-11 17:01:32
このQ&Aは役に立ちましたか?
0人が「このQ&Aが役に立った」と投票しています
回答(6)
(1)おそまつな質問だ。区切りの30や50は、両方に含まれているが、
どちらにするのか?
(2)エクセルの関数では、元データを、「標準」などに「変換」できない。
言い間違いだろうが、回答者読者は、真剣に質問文を読んでいる。
未満などで、整合性を採ること。
(3)同行の別列に「5割減」などの文字列を出すのなら、VLOOKUP関数のTRUE型を使えば簡単だろう。
ーー
例えばG2:H4列に
0標準
305割減
5010割減
基準表データを作っておく。
ーー
下記でテストをやってみてください。
A2セルに1、A3セルに2、以下100までA列に連続整数を入れる(作る)
B2セルに、=VLOOKUP(A2,$G$2:$H$4,2,TRUE)を入れて101行まで
式を複写。
このB列の文字列を見て正しいことを質問者が、納得すること。
質問者のニーズに照らして、間違っている(づれている)場合は、基準表のG列基準表の区切り数字29、や30などを、1だけ修正すること。
Googleで「VLOOKUP関数 true型」で照会して、じっくり勉強のこと。
VLOOKUPはエクセルで最も有名な関数で、この関数だけの本(新書版)が出ているほどだ。
投稿日時 - 2018-01-11 18:31:50
>具体的に言うと数値を打ち込んだ時に0~30なら「標準」、30~50なら「5割減」、50~100なら「10割減」と変換されるようにしたいです。
コンピューターは、こういう処理は不可能です。
なぜなら「30」の時と「50」の時に、どうすれば良いか判らないからです。
コンピューター的に処理するには
・負数の場合(0を含まない)
・0~30未満なら「標準」(0を含み、30を含まない)
・30以上~50未満なら「5割減」(30を含み、50を含まない)
・50以上~100以下なら「10割減」(50、100を含む)
・100を超える場合(100を含まない)
のように「重複」や「抜け」が無いように「きちんと定義」しないとなりません。
また、場合によっては
・負数の場合(0を含まない)
・0~30以下なら「標準」(0、30を含む)
・30を超え~50以下なら「5割減」(30を含まず、50を含む)
・50を超え~100以下なら「10割減」(50を含まず、100を含む)
・100を超える場合(100を含まない)
のようにしないとならないかも知れません。
この質問に答えるには、以下の点を明確にする必要があります。
・マイナスをどうするか?
・30をどうするか?(「標準」にするか「5割減」にするか)
・50をどうするか?(「5割減」にするか「10割減」にするか)
・100を超える数値をどうするか?
上記を踏まえ、A1に対象数値が入って居ると仮定した式を書くと
=IF(A1<0,"未定義",IF(A1<30,"標準",IF(A1<50,"5割減",IF(A1<=100,"10割減","未定義"))))
または
=IF(A1<0,"未定義",IF(A1<=30,"標準",IF(A1<=50,"5割減",IF(A1<=100,"10割減","未定義"))))
となります。
「A1<30」か「A1<=30」か、どちらにするかで「30をどっちに含めるか?」が決まります。同様に、「A1<50」か「A1<=50」か、どちらにするかで「50をどっちに含めるか?」が決まります。
コンピューターはバカなので「境目が曖昧」だったり「言わなかったことがある」と、どうして良いか判りません。
「境目の30や50をどっちに入れるか曖昧」だったり「マイナスや100を超える数値について指示がない」と、コンピューターは困ります。
投稿日時 - 2018-01-11 17:33:10