- ベストアンサー
エクセルについて
このような物を作りたいのですが色々関数使いましができませんでした どなたか教えて下さい 下記のようなシートで作成したデータを参照させて作りたいのです A-1 190 191・・・198 199 B-1 180 181・・・188 189 ・ ・ F-1 100 101・・・108 109 もし数値が「190」なら「A-1」と表示 もし数値が「188」なら「B-1」と表示 もし数値が「105」なら「F-1」と表示 させたいのですがIF・MATCH・VLOOKUP関数を 使ってもできません、データの形状は変えず作成したいのですが どのようにしたらよいでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
もう一つ 規則性が理解できませんが VLOOKUPでいけるでしょう E列及びG列を昇順に並べてください =VLOOKUP(A1,E4:H13,4) E F G H 4 100 ~ 109 J-1 5 110 ~ 119 I-1 6 120 ~ 129 H-1 7 130 ~ 139 G-1 8 140 ~ 149 F-1 9 150 ~ 159 E-1 10 160 ~ 169 D-1 11 170 ~ 179 C-1 12 180 ~ 189 B-1 13 190 ~ 199 A-1
その他の回答 (3)
- higekuman
- ベストアンサー率19% (195/979)
マクロでユーザー関数を作る方法しか思い浮かびません。 Function testtest(ByVal x) With Worksheets("Sheet2") 'Sheet2には実際のシート名 testtest = .Range("B1:K8").Find(what:=x, ookat:=xlWhole).EntireRow.Cells(, 1).Value 'B1:C8には参照したい数値の範囲、Cells(,1)の1には、求めたい値が入っている列 End With End Function これで、 =testtest(188) と書くと、B-1が求められます。 この方法を使いたいけどこの説明でも解らない場合には、マクロを勉強してください。
お礼
回答有難うございます。 マクロ頑張って覚えます。
- fujillin
- ベストアンサー率61% (1594/2576)
190~199の値なら「A-1」、180~189なら「B-1」・・・と10区切りでA、B、C・・・と変えたいだけなら単純な計算式でも可能です。 数値が入っているセルを例えばC3とするなら、式を =CHAR(84-INT(C3/10)) & "-1" とすれば、「A-1」などと表示されます。 上ではA、B、C・・が英数半角文字になりますが、全角文字にしたい場合は、式中の84を9044に変えれば全角文字になります。 (想定外の範囲の数字が入力された場合までは考慮してありません。)
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
簡単。rounddown(数値,-1)を2列目でmatch関数を使って検索すれば いいんですよ。で、そのままindex関数ね。 105だから7列目を...なんて考える必要はありません。
お礼
分かりやすい回答、有難うございます。 VLOOKUPは昇順にしないと使えなかったですよね 逆からやってました、一発解決です!