• ベストアンサー

excel 文字列抽出に関する質問

エクセル文字列抽出について質問です。 例えば、 "西郷 隆盛" この文字列から、" "の前後に分けて "西郷" と "隆盛" をユーザ定義関数を用いて、それぞれ別セルに抽出する場合、どのようにモジュールに入力すれば良いのでしょうか? ご教授願います

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

public function getfirst(a) with application getfirst = split(.substitute(.trim(a)," "," ")," ")(0) end with end function public function getsecond(a) with application getsecond = split(.substitute(.trim(a)," "," ")," ")(1) end with end function とかなんとかで。 #見て判ると思いますが,全角と半角のスペースの違い,またスペースが2文字以上連続していた場合まで手当してあります。 でもたとえばセグメントが3つ以上だったりしたデータでどういう結果を得たいのかなど,まだ事前に検討しておくべきです。

useshure
質問者

お礼

迅速な回答ありがとうございます。 おかげで、名簿の記入が楽で素早く済みました。 わざわざ、様々な状況について考えてくださってありがとうございます。

その他の回答 (2)

  • chie65535
  • ベストアンサー率43% (8516/19360)
回答No.2

訂正 「隆盛」を返す =MID(A1,FIND(" ",A1)+1,LEN(A1))

useshure
質問者

お礼

訂正ありがとうございます!

  • chie65535
  • ベストアンサー率43% (8516/19360)
回答No.1

A1セルに「西郷 隆盛」が入力されている場合、 「西郷」を返す =LEFT(A1,FIND(" ",A1)-1) 「隆盛」を返す =RIGHT(A1,FIND(" ",A1)-1)

useshure
質問者

お礼

迅速な回答ありがとうございます。 これはfunctionということでしょうか?

関連するQ&A

  • エクセル 文字列抽出について質問です

    こんにちは^^ エクセル文字列抽出について質問です。 例えば、 "ボリュームサイズ=74.53GB" この文字列から、"="の前後に分けて "ボリュームサイズ" と "74.53GB" をそれぞれ別セルに抽出する場合、どんな方法があるでしょうか? 関数、VBAマクロどちらでも結構です。 教えて下さい。お願いします。

  • エクセル ある文字列を入れるとある文字列を返す

    エクセルでの関数、ど素人です。一応自分で調べたのですが、無理なので質問させていただきます。よろしくお願いいたします。 エクセルで、時刻ですが文字列として1745~2345までを手入力します(1745,とか2000とか2330とか。。。。。) 入れた文字列によって、すぐ横のセルに1745、1800、1815であれば8.00、1830からは0.25刻みで8.25、1845であれば8.50、1900であれば8.75。。。。2330であれば13.25、2345であれば13.50と言ったように、入力した文字列に対しある特定の文字列を自動的に入れたいのですが、どのような関数を使えばよろしいのでしょうか。 私が行おうとしたのは、別シートに文字列一覧を作り、if(特定のセル(手入力するセル)=別シートの1745~2345まで、横のセル=別シートの8.00、8.00、8.00~13.50まで)や、sumif、lookupを使ってみましたが撃沈です。 どなたか教えていただきたく、お願いいたします。

  • エクセルで文字列の最大値を抽出する方法

    文字列の最大値を抽出したいのですが 4つのセルにA、B、C、Dが入力されている場合の文字列の最大値Dを抽出する関数式を知りたい エクセルヘルプで見るとMAXAとなっていたのですが抽出する答えは”0”となってしまいます。

  • エクセルの文字列で似たものを抽出する

    いくつかあるエクセルの文字列のうち, 一番にてる文字列を抽出する方法を教えてください. たとえば,画像のように入力してある30通りの文字列のうち, ★の文字列に一番似ている文字列は1~30番の文字列のうちどれか, を知る方法について,具体的に教えていただけると嬉しいです. 関数は,不得意なのを踏まえて,教えていただけるとなお嬉しいです. どうぞよろしくお願いします.

  • エクセル セルの表示形式「文字列」だけを抽出したい

    エクセル2007を使用しています。 A列に数字が入力されていますが、そのセルの表示形式は、「標準」「数値」「文字列」とバラバラです。 この「文字列」のセルだけを抽出したいのです。 例えば、関数などを利用して、B列に表示するなど。 よろしくお願いします。

  • 指定した文字列が抽出できる関数

    Excelで、指定した文字列だけを抽出表示する場合、「文字列を先頭(左)から抽出する」などの関数は「LEFT関数」や「RIGHT関数」がありますが、位置の指定ではなく、文字列の中にある、特定の文字だけを指定して抽出してできる関数は何でしょうか? たとえば「ラーメン」「うどん」「そば」いずれかを「含む」文字列が入っているセルの中から、「うどん」のセルだけを抽出して表示するという場合です。

  • エクセル 文字列で右から一文字づつ文字を抽出したい

    エクセル2010を使用しています。 mid(抽出したいセル,左からの文字数,抽出したい文字数)と作業を行ってきましたがmid関数は常に左から抽出されるようです。 そこでright(抽出したいセル,抽出したい文字数)と試みましたが、一番右はOKですが2文字目、3文字目とどのように抽出してよいかわかりません。 どなたかご教授いただけませんでしょうか。

  • エクセル 重複文字列の色分け抽出

    エクセル2003において、1行内に重複した文字列に対して色を付ける。これは条件付書式で「数式で」COUNTIF関数選択範囲>1 書式「セルを赤パターンで塗りつぶす」 はできるのですが、その重複する文字列が直接入力のものではなく、別シートからのIF関数を利用しての抽出なのです。なのでセル自体には既に数式が入っている状態です。この状態で上記のことをすると、すべてのセルが赤く染まってしまうのですが、何とか回避できるでしょうか?抽出された「文字列」にではなく、既に入っている「数式」に反応しているようなのですが…。 具体的に言うと、各支店の出勤状況をまとめた出勤予定表がシートごと(sheet2~sheet15)にあります。その各シートから1日に出勤するスタッフ、2日に出勤するスタッフの名前が全スタッフ出勤状況表(sheet1)にピックアップされるように作られています。しかし、別店舗で同じ人間を出勤させている場合があり、そのスタッフを赤色に塗りたいのです。 ご教授宜しくお願いいたします。

  • Excelで複数の文字列を抽出する方法

    Excel 2007で列に、[xxxA],[xxxB],[xxxC]... といった文字列があります。 例えば、この文字列の右端が、[A]か[B]で終わる文字列のみを抽出する方法をご教授ください。 一つの文字列であれば、RIGHT関数で抽出できたのですが、2つ以上の抽出方法が判りません。 どうぞよろしくお願いいたします。

  • Excelの文字数が決まっていない文字列の抽出

    教えてください。Excelで、文字数の決まっていない文字列を抽出したいのですが、例えば、 セルA1 : プロジェクト1 簡単な文章 2352 PD_JOK セルA2 : プロジェクト13 複雑な文章列とは決まっていない 2453 AO_JKI ・・・・・・ というセルから、 プロジェクト名から、半角数字前までの文字数が決まっていない文字列「簡単な文章」や「複雑な文章~」をセルB列に抽出する方法を教えていただきたいのですが、 そして、半角数字後の半角英字「PD_JOK」をセルC列に抽出する方法も同時に教えてください。 万単位でデータがあるので、関数を使わないと難しいです。 よろしくお願い致します。

専門家に質問してみよう