過去の桐井戸端BBS (桐ver.9)
26776 複数の項目に入っている氏名のデータから同じ姓だけを絞り込みたい かわ 2004/06/24-13:57
また、質問が発生しました。よろしくお願いします。

現在、公共下水道への移行に伴って、土地の共有名義者だけの
リストアップが必要になってきました。この内、夫婦や親子の
ように姓名の内、姓が同じ者だけを抽出するには、絞込みで
どのようにしたらいいのでしょうか。いろいろやってみましたが、
どうもうまくいきません。

ご存知の方、よろしくお願いします。

26777 Re:同じ姓だけを絞り込むには かわ 2004/06/24-14:39
記事番号26776へのコメント
申し訳ありません、先の質問で入力データについて抜けていました。

所有者1 :所有者2 :所有者3
----------+----------+----------
鈴木 透 :田中 純一:佐藤 正志
池田 隼人:池田 聡子
中村 晋 :小林 久司
  略  :  略  :  略
 
のような場合に
池田 隼人と池田 聡子のように姓が同じ者のリストアップをしたいと考えています。

よろしくお願いします。


26778 Re:同じ姓だけを絞り込むには うにん 2004/06/24-14:57
記事番号26777へのコメント

>所有者1 :所有者2 :所有者3
>----------+----------+----------
>鈴木 透 :田中 純一:佐藤 正志
>池田 隼人:池田 聡子

>のような場合に
>池田 隼人と池田 聡子のように姓が同じ者のリストアップをしたい

「のように」が不明瞭ですが、[所有者3]を無視してよければ
適当な項目で絞込み−比較式で
#SSTR([所有者1],1,#文字位置([所有者1]+" "," ")-1)=#SSTR([所有者2],1,#文字位置([所有者2]+" "," ")-1)

26779 Re:同じ姓だけを絞り込むには かわ 2004/06/24-15:50
記事番号26778へのコメント
うにんさん、早速お答えいただきましてありがとうございました。

式の内容が、教えていただきました関数の部分列を読んでも、
イマイチよく分からないのですが、その通り比較式に入れたら
うまくいきました。

>「のように」が不明瞭ですが、[所有者3]を無視してよければ

共有名義は2人ばかりでなく、3人もいれば、4人の場合もありますが、データ的には3人までとしています。

ありがとうございました。
26785 Re:同じ姓だけを絞り込むには うにん 2004/06/24-19:30
記事番号26779へのコメント

>式の内容が、教えていただきました関数の部分列を読んでも、
>イマイチよく分からないのですが、

姓しか入ってない場合に備えて後ろにスペースをくっつけた上で、
スペースの手前までを部分列で取り出して2つの項目を比較しています。

>>「のように」が不明瞭ですが、[所有者3]を無視してよければ
>
>共有名義は2人ばかりでなく、3人もいれば、4人の場合もあり
>ますが、データ的には3人までとしています。

1と3が等しい場合、2と3が等しい場合も対象にしたければ
比較が3倍になるので式も3倍に長くなるでしょう。
3人目がいるときは3人とも等しい場合なのか、とかその辺が不明瞭ということです。

26795 実は、まだうまくいっていませんでした かわ 2004/06/25-13:28
記事番号26785へのコメント
「うにん」さん、お世話になっています。

うまくいったと思ってましたが、元データと同姓の絞込みデータとチェックしていくと違っていました。
式の意味がまだ理解ができてないので、よく分かりませんが、

#文字位置([所有者1]+" "," ")-1の" "," "スペースを全角や半角にすると、当然に同姓なので
入るべきデータが抜けていました。
スペースがないヌルにすると、異姓まで入ってきてしまいます。

どこがおかしいのでしょうか。よろしくお願いします。

それから、もう一点お願いがあるのですが、所有者が同姓のデータの抽出がうまくいった後に、
最終的に必要な元データから個人所有と共有所有を除いたデータを作らなければなりません。
個人所有を除いたデータは既にありますが(絞込み−条件名で不等号で作成)この共有名義の
データを除くにはどのようにしたらいいのでしょうか。

以上、よろしくお願いします。
26800 Re:実は、まだうまくいっていませんでした うにん 2004/06/25-20:04
記事番号26795へのコメント
サンプルデータに従って姓と名の区切りは全角スペースとして式を例示しましたので、

>#文字位置([所有者1]+" "," ")-1の" "," "スペースを全角や半角にすると、当然に同姓なの
>で入るべきデータが抜けていました。

当然そうなります。
とりあえずデータの方を置換で統一するのが簡単でしょう。
置換式:#全角([])

>それから、もう一点お願いがあるのですが、所有者が同姓のデータの抽出がうまくいった後に、
>最終的に必要な元データから個人所有と共有所有を除いたデータを作らなければなりません。個
>人所有を除いたデータは既にありますが(絞込み−条件名で不等号で作成)この共有名義のデー
>タを除くにはどのようにしたらいいのでしょうか。

抽出した行を全行削除すればいいのでは?
あるいは「絞り込み:補集合」とか、比較式の「=」の代りに「<>」にするとか。。。

26813 Re:実は、まだうまくいっていませんでした かわ 2004/06/27-06:10
記事番号26800へのコメント
うにんさん、お世話になります。どうも、知識がないためうまくいきません。

>サンプルデータに従って姓と名の区切りは全角スペースとして式を例示しましたので、

入力データは、姓と名の区切りは全角スペースにしてまして、姓が1文字の場合は、
全角で2スペース空け、姓が2文字以上は全角で1スペース空けています。

>>#文字位置([所有者1]+" "," ")-1の" "," "スペースを全角や半角にすると、当然に同姓なの
>>で入るべきデータが抜けていました。
>
>当然そうなります。
>とりあえずデータの方を置換で統一するのが簡単でしょう。
>置換式:#全角([])

所有者1と所有者2を上記の式で置換したら、姓と名の区切りのスペースがもう一つ広がり、
絞込みしたら、データがほとんど無くなってしまいました。でも当初の1スペースのままのものもあり、
ここら辺が原因なのかなあとも思ったりしています。

現在、入力データをバックアップしておいたデータに戻して、お手上げ状態になっています。
なにかヒントがあれば、よろしくお願いします。


26814 Re:実は、まだうまくいっていませんでした 今村 誠 2004/06/27-09:28
記事番号26813へのコメント
かわさんこんにちは、計算項目を3つ増やした方が簡単ではないでしょうか

#SSTRは#部分列(文字列 str の先頭から n1 文字目以降の n2 文字を取り出します。)の別名です。
#TRIM("△A△B△C△",3)→A△B△C(文字列から、先頭と末尾の全角と半角の空白を取り除きます。)
#文字位置( str1 , str2 )文字列str1の中にstr2 が含まれていれば、その文字位置を返します。
#Sは#文字置換(文字列の一部を、別の文字列に置き換えます)の別表記です。

#SSTR(#TRIM([所有者1],3),1,#文字位置(#S(#TRIM([所有者1],3)," "," ")+" "," ")-1))

を項目計算式に指定して所有姓1と2と3を作成し
絞込比較式で
[所有姓1]=[所有姓2] .or [所有姓1]=[所有姓3] .or [所有姓3]=[所有姓2]
の方が確認もしやすいと思います。
26815 Re:訂正です 今村 誠 2004/06/27-10:03
記事番号26814へのコメント
訂正です。カッコが一つ多いようです(^o^)

>#SSTR(#TRIM([所有者1],3),1,#文字位置(#S(#TRIM([所有者1],3)," "," ")+" "," ")-1))
#SSTR(#TRIM([所有者1],3),1,#文字位置(#S(#TRIM([所有者1],3)," "," ")+" "," ")-1)
26816 Re:実は、まだうまくいっていませんでした うにん 2004/06/27-12:37
記事番号26813へのコメント
>入力データは、姓と名の区切りは全角スペースにしてまして、姓が1文字の場合は、全角で
>2スペース空け、姓が2文字以上は全角で1スペース空けています。

区切りが2文字のケースは想定外でしたが、最初のスペースまでを姓として取出すだけなので影響ありません。

>>とりあえずデータの方を置換で統一するのが簡単でしょう。
>>置換式:#全角([])
>
>所有者1と所有者2を上記の式で置換したら、姓と名の区切りのスペースがもう一つ広がり、

ということは、実は区切りが半角のスペースになっていたということです。
元々全角だけなら上記の置換で何も変わらないはずです。

26822 Re:実は、まだうまくいっていませんでした かわ 2004/06/28-10:52
記事番号26816へのコメント
お世話になります。

>ということは、実は区切りが半角のスペースになっていたということです。
>元々全角だけなら上記の置換で何も変わらないはずです。

見た目には、全角のスペースになってまして、半角のスペースはありません。
今村さん、教えていただいた#TRIM([所有者1],4)で、「所有者1」のすべての
空白を削除して、「所有者2」も同様にしてすれば、うにんさんに教えていただいた
方法でできるように思いますが、データ数が1300件もあり、後から姓と名前に空白スペースをあけるのも大変だからやめました。

知識がなくて、申し訳ありませんが、区切りが実際には半角のスペースである項目を
見つける方法はあるのでしょうか。よろしくお願いします。

26824 Re:訂正です かわ 2004/06/28-11:04
記事番号26815へのコメント
今村 誠さん、ご返事ありがとうございました。

教えていただきました式を「所有者1」の欄の項目計算式に入れてみたところ、
データがすっかり消えました。「所有者2」にもやってみましたが、同じでした。

データそのものは、バックアップしてあるので関係がないですが、この原因は何でしょうか。
私自身、知識がありませんので、分かりませんが、

> #SSTR(#TRIM([所有者1],3),1,#文字位置(#S(#TRIM([所有者1],3)," "," ")+" "," ")-1)

上記の式の ," "," ")+" "," " の" "のスペースが全角になったり半角になっているのは
関係があるのでしょうか。

データ数が1300件もあるので、1件ずつ確認するのは大変なので、なんとか簡単にしようと思っています。
よろしくお願いします。

26827 Re:項目を3つ新規に増やしてください 今村 誠 2004/06/28-11:25
記事番号26824へのコメント
かわさん こんにちは
>教えていただきました式を「所有者1」の欄の項目計算式に入れてみたところ、データが
>すっかり消えました。「所有者2」にもやってみましたが、同じでした。

現在の項目に計算式を設定したら当然データは消えます。
新しい項目を作成してその計算式に下記の式を貼り付けてほしかったのですが
[所有者1]に対応する[所有姓1]の計算式です。

>> #SSTR(#TRIM([所有者1],3),1,#文字位置(#S(#TRIM([所有者1],3)," "," ")+" "," ")-1)

>データ数が1300件もあるので、1件ずつ確認するのは大変なので、なんとか簡単にしようと思っています。
>よろしくお願いします。

簡単にできるように項目を増やしたらいかがでしょうかとご提案いたしました。
項目を増やせないのであれば私の提案はなかったことにしてください。

26831 Re:実は、まだうまくいっていませんでした うにん 2004/06/28-13:48
記事番号26822へのコメント

>見た目には、全角のスペースになってまして、半角のスペースはありません。

「空白表示」にすると全角スペースは四角で表示されるので半角(下線で表示)と
区別できます。表示メニューの「空白文字」のとこで切り替えられます。

>今村さん、教えていただいた#TRIM([所有者1],4)で、「所有者1」のすべての
>空白を削除して、「所有者2」も同様にしてすれば、うにんさんに教えていただいた
>方法でできるように思いますが、データ数が1300件もあり、後から姓と名前に空白
>スペースをあけるのも大変だからやめました。

,4)でなく,3)なら途中の空白は残ります。

>知識がなくて、申し訳ありませんが、区切りが実際には半角のスペースである項目を
>見つける方法はあるのでしょうか。よろしくお願いします。

絞込みで「値」に半角スペースを入れて実行してみればよいかと。

26882 解決しました、ありがとうございました かわ 2004/06/30-13:05
記事番号26831へのコメント
うにんさん、今村さん、いろいろお世話になりました。やっと解決しました。
ありがとうございました。

やはり、問題は半角のスペースと全角のスペースでした。見た目には全角と
思っていましたが、「空白表示」にしたら、ほとんどが半角でした。
以前に、前任者からテキストファイルで引きついたデータはすべて半角スペースが
2つくっついていました。その後に自分で更新したデータは全角でした。
「空白表示」の意味を始めて知りました。

おかげで、1300件のデータのほとんどを全角のスペースに変える作業となりまして、
うにんさんの式で、できました。なお、今村さんには折角、式まで作っていただきましたが、
かなりの容量になっていまして、あまり項目が増やせないので、今回はあきらめました。

いずれにしても、お二方には大変お世話になりまして、ありがとうございました。


戻る