質問: エクセル 抽出 どうぞ宜しくお願いします a1b1c1のセルが結合してあり セルの中にはカタカナ、ひらがな、漢字、記号、アルファベット、が 30~60文字ぐらい記入されています。 その中のアルファベットが、1文字だけ大文字で必ず書いてあります。 大文字ではありますが、半角の場合も全角の場合もあります そのアルファベットの1文字だけe1に抽出表示させたいのです。 a1b1c1にはアルファベットも残したまま1文字だけe1に抽出表示させたいのです。 出来るのであれば、ですが、大文字の半角で表示させたいのです。 pc初心者です、よろしくお願いします
回答: ユーザ定義関数を呼び出して、その中で文字の検索を行うとか。こんな感じ: public function f(v as string) as string f = "" const alphabet_chars as string = "abcdefghijklmnopqrstuvwxyz" dim s as string s = strconv(v, vbnarrow) dim k as integer, c as string for k = 1 to len(alphabet_chars) c = mid$(alphabet_chars, k, 1) if instr(1, s, c) > 0 then f = c exit for end if next end function セルの中に英大文字が二文字あると誤動作しますが。 羅列を厭わなければ、ワークシート関数(ascとfindとiserrorとif)だけでもなんとか。