平成17年 6月27日(月):初稿 平成17年 6月26日(日):更新 |
○平成17年6月23日更新情報において五十音インデックス作成のためのふりがなの先頭1文字を取り出す関数式で、#条件選択を使わない方法は、現時点では不明ですと記載していたところ、桐名人の一人Oさんから次の様な関数式をご教示頂きました。 ○#部分列( "あああああかかかかかかかかかか ささささささささささたたたたたたたたたた なななななははははははははははははははは まままままやややらららららわ", #文字位置( "あいうえおかがきぎくぐけげこご さざしじすずせぜそぞただちぢつづてでとど なにぬねのはばぱひびぴふぶぷへべぺほぼぽ まみむめもやゆよらりるれろわ", #部分列([ふりがな],1,1) ) , 1) ○判りやすくするため行替えしていますが、実際は#部分列2に記載したように全て続けて記載します。以下、この関数式を私なりに解説します。解説に誤りがありましたら、ご指摘いただければ幸いです。 ○#部分列1 先ず一番下の#部分列([ふりがな],1,1)によって、[ふりがな]の"ごとうたろう"から、1番目の1文字"ご"を取り出します。 ○#文字位置 次に#文字位置("あいうえおかがきぎくぐけげこごさざしじすずせぜそぞただちぢつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもやゆよらりるれろわ",#部分列([ふりがな],1,1) )によって、上記"ご"が、"あ~わ"69文字の内何文字目に位置するか判定して15文字目と出します。 ○#部分列2 最後に#部分列("あああああかかかかかかかかかかささささささささささたたたたたたたたたたなななななはははははははははははははははまままままやややらららららわ",#文字位置("あいうえおかがきぎくぐけげこごさざしじすずせぜそぞただちぢつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもやゆよらりるれろわ",#部分列([ふりがな],1,1)),1)によって、"あ~わ"の15文字目に位置する文字が、"か"であることを判定します。 ○一見複雑そうに見えますが、よく考えると意外にシンプルです。しかしアイデアが凄いですね。私のレベルではどう転んでも思いつきません。 Oさんのご解説では、この手の方法は、文字の位置合わせ(マッチング)の一般的な手法で、「貝あわせ」方式とネーミングするそうです。 ○今回は、先頭1文字だけ取り出す特殊例なので、上記方法でよいのですが、複数文字を取り出す場合は、複数文字を半角コンマ区切り、#対応番号( ) 関数で「探索用の文字列」の単語の番号を求めて、#対応文字列( )関数で「取り出し用の文字列」の文字を取り出すとのことです。 ○なかなかビシッと理解できませんが、この一般的な手法を使えば、いちいち表引き表を使わずとも出来そうな桐法律事務での応用分野がありそうです。 Oさん、懇切丁寧なご解説有り難うございました。 以上:1,191文字
|