過去の桐井戸端BBS (桐ver.9)
24671 氏名のデータで姓と名の間をスペース一文字であけるよう入力内容を統一したい 唐揚定食 2004/02/09-19:37
タイトルの内容がうまい具合に書けてませんが御了承お願います(^^;

ご質問したいことは
当方では個人データの管理を行っているのですが、
氏名の項目で、例えば
山田 一郎(ヤマダ イチロウ)
山田  一郎(同上)
と言ったようにスペースが1文字のもあれば2文字分入っているのもあり(最大4文字分)統一されていないのです。
過去DOS版の桐にて入力を行っていた時と現在の入力方法を変えてしまったので、この様になってしまっています。
山    一(ヤマ ハジメ)
といったように過去ではスペース込みでフルネームが6文字に生るようにしてあるようです。

これを何とかスペース一文字で統一できないかと思い、ご質問しました。
何か良い方法がありましたらご教授願いたいと思います。
宜しくお願いしますm(__)m

24674 Re:データの入力内容を部分的に統一する方法 しぼうかん 2004/02/09-20:54
記事番号24671へのコメント
唐揚定食さん、こんばんは.

過去に何度か出ていていくつか方法があったような気がしますが、
その1つは[氏名]で項目置換をします。
項目置換で使う計算式は以下の通りです。

#文字置換(#文字置換(#文字置換([氏名],"□□","□"),"□□□","□"),"□□□
□","□")

※スペースを表示するとわかりづらいので替わりに記号の"□"を使いましたが実際に使うときは" "(空白)を替わりに使って下さい
24681 区切りのスペースをひとつに揃えるには 宮城 2004/02/10-00:38
記事番号24671へのコメント
唐揚定食さん、こんにちは。しぼうかんさんのほうがお手軽と思いますが、別解です。

全角カッコで漢字とカナが区切られており、漢字の姓と名の間にあるのは全角スペースだという前提です。

項目を追加し、[漢字][姓][名]まで取り出してみます。

[漢字]:「(」の一つ前まで取り出せばよいわけですから項目計算式に
#部分列([氏名],1,#文字位置([氏名],"(")−1)

[姓]:[漢字]から「 」の一つ前までということで同様に
#部分列([漢字],1,#文字位置([漢字]," ")−1)

[名]:最後の「 」の次から末尾までを取りだします。#文字位置は
最初の出現位置ですので#文字列反転でひっくり返し#文字数と差を取ってこねこね。
#部分列([漢字],#文字数([漢字])−#文字位置(#文字列反転([漢字])," ")+2)

再構成は「+」でつないでください。

24689 Re:データの入力内容を部分的に統一する方法 うにん 2004/02/10-11:16
記事番号24674へのコメント

>#文字置換(#文字置換(#文字置換([氏名],"□□","□"),"□□□","□"),"□□□
>□","□")

これだと先に2つの空白が1つに置換されるので3つ以上の場合うまくいきません。
"□□□□"を内側にするか、全部2つにしないと。

#文字置換([氏名],"□□","□")
で3回置換する方が簡単ですが。

24711 Re:データの入力内容を部分的に統一する方法 しぼうかん 2004/02/10-18:34
記事番号24689へのコメント
おっしゃるとおりです。(^^;)

うにんさん、添削ありがとうございました。

24713 お礼 唐揚定食 2004/02/10-19:31
記事番号24671へのコメント
しぼうかんさん、うにんさん、宮城さん丁寧な解答を有難うございました。
まだまだ初心者なのでうまくいくか分かりませんが、よく見て試させて頂こうと思います。本当に有難うございました。

24719 Re:データの入力内容を部分的に統一する方法 悲しげ 2004/02/10-22:37
記事番号24671へのコメント
どもっ、唐揚定食さん
既に解決済みのようですが、

>山田 一郎(ヤマダ イチロウ)

のような場合は、先ずヨミの部分と姓名の部分を項目分けしてしまった
方が後々の利用に便利かと思います。その辺りを項目計算式で設定した例を、遅まきながら挙げておきました。

24720 Re:データの入力内容を部分的に統一する方法 しぼうかん 2004/02/10-22:44
記事番号24711へのコメント
一応本当の初心者の方のために自分のやり方の正しい式を書いておきます。

#文字置換(#文字置換(#文字置換([氏名],"□□","□"),"□□","□"),"□□","□")

戻る