[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『*の使い方を教えて下さい』(トップ)
すごくなやんでいます。教えて下さい!!
A B
1 660 CP
2 660U CP
3 6022 NP
4 215 GP
5 215F GP
6 215FA GP
VLOOKUPを使用して、上記のような結果が出るように、検索値に660でも660Uでも
CPと表示されるように、すなわち660でも660の後にどんな文字列が付いてても
660を含む検索値は、CPと表示されるようにしたいです。
215なら215の数字を含むものは、すべてGPと表示されるように・・・
よろしくお願いします。あまり説明がうまくなくてすいません。
先頭3文字が決まっている場合、一番簡単なのは下の表にして、 =VLOOKUP(MID(XX,1,3),A1:B3,2,FALSE)
A B 1 660 CP 2 602 NP 3 215 GP
(kazu)
上記の通り表を作り、式をいれましたが、#NAME? とエラーが表示されます。
XXっていうのは、エックスエックスでいいんですよね?
おじゃまします。 kazuさんが作成した表を下記のセル番地(求めたいデータに影響のない所で作成) を変更してみました。 A B 100 660 CP 102 602 NP 103 215 GP
B1=VLOOKUP(MID(A1,1,3)*1,$A$100:$B$103,2,FALSE)で下方向へコピーでどうですか? (つぐお)
さらに、教えて頂きたいのですが、660といったように必ずしも3文字と決まって
いなくて、2文字の時や4文字の時は何かよい方法がないでしょうか?
A B
6250 CBC
6250FA CBC
20 AB
20C AB
となるようにしたいのですが・・・・・
教えて下さい。 お願いします。
こんちわ。 なかなかレスがつきまへんなぁ。 ほんなら、何文字でもOKっちゅうユーザー関数を使うてみまっか。 これはテスト用ですさかい、作業列はH列に検索文字I列に出力文字を(5行目まで) 使うてあります。せやから、もし本格的に使うようやったらコードの中の矢印を変更 してもろたら何処にでも作業列は移せますわ。(H列は半角で)
Alt+F11でVBEを開く 「挿入」→「標準モジュール」を選択 下のコードをコピペ Alt+Qでエクセルに戻る
これで準備OKですわ。あとは適当なセルにデータ(全角でもOK)を書き込んで =look(a1)等と入力してみておくんなはれ。下方向にコピーするとちゃんとお望みの 文字が湧いてきまっしゃろ。 これはトップさん固有の関数ですさかい、=topに変えてもよろしいんやで。 ほな...(弥太郎) Function look(data) Dim n As Integer Application.Volatile data = StrConv(data, vbNarrow) data = Val(data) n = Application.Match(data, Range("h1:h5"), 0) '↑ 'ココで作業列を指定
look = Cells(n, 9) '→ヒットした作業列の右隣 End Function
ごめん、矢印に’マークを忘れとった。
2,3,4文字で自由に使えるいい方法が思い浮かびません、
先頭からは数字で最後につく文字は必ず英字でしょうか?
(kazu)
したのですができませんでした。VBA自体まったくわからないので、コペパした
だけで後、どこをどうしたらいいのかわかりませんでした。すいません。
kaZuさん、先頭は必ず数字(2ケタの時もあれば3ケタ・4ケタ)で、数字だけの
時もあれば後ろに文字が付きます。 文字は、ほとんど英字ですが例外でUとか
もあります。
どうか、よろしくお願いします。
一見簡単そうで、簡単では無いですね。
ユーザー関数を作って頂いて 文字 or 数字が何文字か判断させて IF LEN 等々を使って分岐して...
書くだけのほうは、何でも書けますね。やはり簡単では無いですね。 (jun53)
なんとか で き ま し た ゾ。 原理的にキーの長さが足りない分だけキーの後ろから取ってきてくっつける です。
セルA1 にキー(探したい 6022FA など)を入力します セルB1 に =VLOOKUP(A1,$C$11:$E$15,3,FALSE) と入力します。 セルC11 に =IF(LEN($A$1)-LEN(D11)>0,D11&RIGHT($A$1,LEN($A$1)-LEN(D11)),D11) セルD11 に 660 などデータを入力します。 セルE11 にCP など返すべき答えを入力します
セルC11 式を下にC15 までドラッグして、データをD11 からD15 の間に 答えをE11 からE15 に記入します。
(kazu)
ぎょえっ 簡単では無いですね。 と書いて、油断させといて、、、 こっそり作ろうと思ったらもう出来てますねー(笑)
トップさん、お先に試してみました、ばっちりです。良かったですねー (jun53)
ほんと、意見を下さったみなさんありがとうございました。これでなんとか仕事を先に
進める事が出来ます。感激です。本当にご親切にありがとうございました。
また、質問すると思いますので、そのときはよろしくお願い致します。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.