今、EXCELの関数に行きずまっています。
問題は
  すずきたろう   → すずき たろう
  さとうけん    → さとう けん
  やまだはなこ   → やまだ はなこ
    ・
    ・ 
    ・
と続きがあるのですが→にある通り、このかな氏名の苗字と名前の間に「空白」
をいれたいんです。
その関数があったら教えてください。
その他の方法もあったら教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

はじめまして。


まず結果を先にお伝えすると、これを達成できる関数はありません。
おそらく完璧なものはできないでしょう。

「苗字と思わしき文字列」を
「苗字と思わしき文字列+全角スペース」って置換
ってな感じでお考えでしょうか?

もし、実験的に関数を作るとすれば、
VBAのReplace関数、ExcelのREPLACE関数あたりを使うでしょう。

ただし精度は保証できません。
凡例として「ごとうだいすけ」という文字列があった場合、
極端な話、苗字が「後藤」かもしれませんし、「後藤田」かもしれません。
それと、どういった文字列を「苗字」とみなすのか、
ちゃんと定義付けするためのマスタを用意する必要がありますね。

mouseyさんがどの程度のデータ量に対して行いたいのかによって
効率の良し悪しは変わると思います。
あくまでもマクロやVBAの勉強としてであれば面白い関数ができるかもしれませんが。。。
    • good
    • 0
この回答へのお礼

詳しいお答えありがとうございます。
完璧なものはないんですね。最近、勉強し始めたので
マクロやVBAの勉強はしてないんです。いずれはしたいですね。
それでは、教えていただいたのを試してみたいと思います。

お礼日時:2007/04/02 19:39

エクセルには、どこまでが苗字でどこからが名前なのか分かりません。



とりあえず、
=Left(A1,3)
=RIGHT(A1,LEN(A1)-3)
とし、後は手作業で修正、でしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。
やってみます。

お礼日時:2007/04/02 19:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qexcel セル未入力→空白 任意の入力値→表示するには

お世話になります。
わかりにくいタイトルの上、過去に質問があるかもしれませんが・・・
○セルA1に別シートよりVLOOKUPでひっぱってきた数値を表示(空白の場合も有り)
○セルB1にセルA1の値、数値表示・もしくは何か入力があれば”入力有”空白ならば空白表示をするのはどうしたらいいのでしょうか?
IF(A1="","","入力有")としましたが、もともとA1にはVLOOKUPの数式が入っていますし、
IF(0<A1,"入力有","")としたら、A1にはマイナス数値表示もありました。
「何らかの入力が有った場合そのまま表示」という指示はあるんでしょうか?(例えば、検索の時に使う[*]のような・・・)
よろしくお願い致します。

Aベストアンサー

No.2&3です。

VLOOKUPの値が#N/Aになるのは、VLOOKUPの第1引数で指定された数値(あるいは文字列)が参照する表に存在しない場合です。

VLOOKUPで参照したセルが空の場合も「0」という数字の場合も、A1に持ってきたときには「0」になってしまいます。これはVLOOKUPに限ったことでなく、他のセルを参照するときにはそうなるのです。たとえばA1に何も入力せず空白としておいて、B1に=A1という式を入れるだけで、B1には0と表示されてしまいます。

したがって、VLOOKUPの結果、参照先のセルが空白の場合は空白を、0という数字が入ってきたときは0を表示させたい(要は参照先と同じように表示させたい)のであれば、A1に表示する時点で細工する必要があると思うのです。そうでないと、B1で=IF(A1=0,…)とやっても、その0は本当に0だったのか空白セルだったのかわからないので、本当に0が入っていた場合に表示されません。

0という数値が元の表に入っていることがあり得ないのであれば、それでもいいと思います。条件付き書式で「"0"なら白」、という設定されているということは、0の場合はあり得ない、ということかもしれませんが、果たして本当に0の値があった場合を想定して設定しているのかどうか、ちょっと疑問です。

それから、「何らかの数値」というのを判定する関数として、
ISNUMBER(A1)
というのがあり、これはA1に数値が入っているときにTRUEになります。
他にも、
ISTEXT(A1)はA1に数値でなく文字列が入っているとき、
ISNONTEXT(A1)はA1に文字列でない値が入っているときにTRUEになります。文字列でない値ということは数値だからISNUMBER(A1)と同じではないか、と思われますが、A1に#N/Aなどのエラーが表示されている場合、ISNUMBER(A1)の場合はFALSEになりますが、ISNONTEXT(A1)の場合はTRUEになります。

また、ISBLANK(A1)はセルが空だったらTRUEになります。
この関数で注意する点は、本当に空のセルだったらTRUEになるのですが、数式の結果""となっているときはFALSEになります。""が入っている場合は、あくまでも「空のセル」でなく「""という文字列が入っている」、と認識されるのです。したがって、上のISTEXT(A1)も、A1が本当に空ならFALSEに、""が入っていたらTRUEになります。

見た目上の空白は、数式も入ってない本当に空のセルか、""という文字列の2種類あるので、関数の値もそれに左右されます。ややこしい世界です。

以上、補足(というより蛇足?)でした。

No.2&3です。

VLOOKUPの値が#N/Aになるのは、VLOOKUPの第1引数で指定された数値(あるいは文字列)が参照する表に存在しない場合です。

VLOOKUPで参照したセルが空の場合も「0」という数字の場合も、A1に持ってきたときには「0」になってしまいます。これはVLOOKUPに限ったことでなく、他のセルを参照するときにはそうなるのです。たとえばA1に何も入力せず空白としておいて、B1に=A1という式を入れるだけで、B1には0と表示されてしまいます。

したがって、VLOOKUPの結果、参照先のセルが空白の場合...続きを読む

Qエクセルで西暦→和歴→数字のピックアップ(関数?)

エクセルで西暦→和歴→数字のピックアップができますか?

例えば
1974/04/03(または1974/4/3)

昭和49年4月3日

一文字づつ分けて、それぞれ一つのセルに1文字
「4」「9」「0(またはスペース)」「4」「0(またはスペース」「3」

と変換することはできますか?

それらの数字を、別のシートにリンクさせて使いたいのです・・。

かなり困っています。
教えていただけると助かりますいm(__)m

Aベストアンサー

No.6です!
たびたびごめんなさい。

投稿した後で気づいたのですが、前回の方法はNo.2の mu2011さんとほとんど同様の方法でした。
確認せずに投稿してごめんなさいね。

余計なお世話かもしれませんが、
前回のSheet1のB列は必要なくて、
Sheet2のA2セルに
=IF(Sheet1!$A2="","",MID(TEXT(Sheet1!$A2,"emmdd"),COLUMN(A1),1))
として列・行方向にオートフィルで大丈夫だと思います。

何度も失礼しました。m(__)m

QSUMIF関数で検索条件の指定セルの下の空白セルを指定

関数初心者です、よろしくお願いいたします。
  SUMIF(Sheet2!$C:$C,"あいうえお",Sheet2!$G:$G)
という数式を作りました。
この場合の検索条件C列の”あいうえお”の「2つ下のセル」を検索条件と
したいのですが、その2つ下のセルは文字も数値も入っていません。
(空白のセル)
条件としてC列”あいうえお”とか”かきくけこ”のセルの
常に2つ下のセルを条件にしたいのですが指定はできないのでしょうか。
どうかよろしくお願いいたします。

Aベストアンサー

こんにちは
=SUMIF(Sheet2!$C1:$C65534,"あいうえお",Sheet2!$G3:$G65536)

検索の範囲と合計範囲をずらしてみたのですがどうでしょうか

QExcelで同一列セルで行方向の非空白の最下行値を取得する関数は?

Excelで、同一列セルで行方向の非空白の最下行値を取得する関数は何でしょうか?

例)A列を走査して、200という値を取得したい
     A
1   (空白)
2    300
3   (空白)
4    100
5    200
6   (空白)
7   (空白)

65536 (空白)

Aベストアンサー

数値であれば、これで表示できます。
=INDEX(A:A,MATCH(MAX(A:A)+1,A:A,1),1)

Q全て空白のときに空白にする

例えばA1からA20が全て空白ならA21を空白にする、というようにしたいのですが、何かいい関数はありますか?

Aベストアンサー

日ごろから、エクセル関数(の代表的なもの)に、どういうものがあるか、勉強不足なだけ。
質問にぴったりのCOUNTBLANK関数が有る。
=IF(COUNTBLANK(A1:A20)=20,"","データあり")
ーー
関数を組み合わせて、複雑な処理をするようなものが、本コーナーの質問すべき対象。(本件もIFとは組みさわせているが、IFは組み合わせの中に含めない。)質問をして悪いわけではないが。


人気Q&Aランキング

おすすめ情報