画像には、2つの同じ日本語の文が表示されています。その文は「こばやし しょうへい」と書かれています。ただし、1つ目のテキストでは濁点が一文字で促音(小書き)が大文字のレガシーシステムから出力されたデータを表現しています

濁点が一文字で促音(小書き)が大文字のExcelデータ

これは、文字化けや変換エラーではなく、データの出力そのままをExcelファイルとして配布されたものです。

データは、とある調査対象の個人リストで、氏名や住所などの項目が含まれています。住所データは規則的であったため、このExcelを基に調査記録のデータを作成するというのがクライアントからの要望でした。

クライアントの担当者も、濁点が一文字で、促音(小書き)が大文字のExcelデータに困っており、自治体に変換したデータを提供してほしいと頼んだそうですが、「できない」と言われたとのことです。

問題点として、ひらがなで検索した場合にヒットしない、氏名の読みがわからないなどがあります。

濁点が一文字で促音(小書き)が大文字のExcelデータ

ExcelからFileMakerへの取り込み

まず、ExcelからFileMakerへデータをインポートしました。以前、FileMakerの検索で濁点が一文字でも問題なく検索された経験があったので、それを試してみました。

例えば、「小林」の場合、「こは゛やし」となっています。通常の入力では「こばやし」となります。

FileMakerの検索では、「こばやし」と入力しても「こは゛やし」がヒットするため、柔軟な検索に対応していて感動しました。

次に、「小書き」文字のケースです。例えば、「翔平」の場合、「しようへい」となっています。おそらく正しい表記は「しょうへい」でしょう。

これもFileMakerの検索で試しましたが、「しょうへい」と入力しても「しようへい」はヒットしませんでした。

検索でヒットするように対応するには、検索ワードを内部的に「しょうへい」から「しようへい」に変更するか、または「しようへい」のレコードに「しょうへい」のフィールドを追加する必要があります。

今回のシステム要望では、検索は1人に絞り込むのではなく、ある程度まで絞り込むことが求められていたため、検索ワードを内部的に変換して検索する方法を採用しました。

濁点が一文字で促音(小書き)の検索対応

仕組みは簡単です。

「こばやし しょうへい」と検索用フィールドに入力されたテキストを「こは゛やし しようへい」と変換し、念のため両方のテキストで検索をかけています。

「ば」を「は゛」に、また「ょ」を「よ」に変換するのは、Substitute関数で処理しています。

ExcelやFileMakerの通常検索では対応できない柔軟な検索が、一手間かけることで簡単に実現できました。

ちなみに、クライアントの担当者からは、「しようへい」を「しょうへい」に変換して顧客登録してほしいと依頼されましたが、その顧客が「しようへい」なのか「しょうへい」なのかは分からないため、自動での変換はできないと伝えました。

カタカナひらがな文字コード

文字変換用に

Char	UTF8	UTF16	HTML Entity	文字列
				
12449	e382a1	30a1	ァ ァ	ァ
12450	e382a2	30a2	ア ア	ア
12451	e382a3	30a3	ィ ィ	ィ
12452	e382a4	30a4	イ イ	イ
12453	e382a5	30a5	ゥ ゥ	ゥ
12454	e382a6	30a6	ウ ウ	ウ
12455	e382a7	30a7	ェ ェ	ェ
12456	e382a8	30a8	エ エ	エ
12457	e382a9	30a9	ォ ォ	ォ
12458	e382aa	30aa	オ オ	オ
12459	e382ab	30ab	カ カ	カ
12460	e382ac	30ac	ガ ガ	ガ
12461	e382ad	30ad	キ キ	キ
12462	e382ae	30ae	ギ ギ	ギ
12463	e382af	30af	ク ク	ク
12464	e382b0	30b0	グ グ	グ
12465	e382b1	30b1	ケ ケ	ケ
12466	e382b2	30b2	ゲ ゲ	ゲ
12467	e382b3	30b3	コ コ	コ
12468	e382b4	30b4	ゴ ゴ	ゴ
12469	e382b5	30b5	サ サ	サ
12470	e382b6	30b6	ザ ザ	ザ
12471	e382b7	30b7	シ シ	シ
12472	e382b8	30b8	ジ ジ	ジ
12473	e382b9	30b9	ス ス	ス
12474	e382ba	30ba	ズ ズ	ズ
12475	e382bb	30bb	セ セ	セ
12476	e382bc	30bc	ゼ ゼ	ゼ
12477	e382bd	30bd	ソ ソ	ソ
12478	e382be	30be	ゾ ゾ	ゾ
12479	e382bf	30bf	タ タ	タ
12480	e38380	30c0	ダ ダ	ダ
12481	e38381	30c1	チ チ	チ
12482	e38382	30c2	ヂ ヂ	ヂ
12483	e38383	30c3	ッ ッ	ッ
12484	e38384	30c4	ツ ツ	ツ
12485	e38385	30c5	ヅ ヅ	ヅ
12486	e38386	30c6	テ テ	テ
12487	e38387	30c7	デ デ	デ
12488	e38388	30c8	ト ト	ト
12489	e38389	30c9	ド ド	ド
12490	e3838a	30ca	ナ ナ	ナ
12491	e3838b	30cb	ニ ニ	ニ
12492	e3838c	30cc	ヌ ヌ	ヌ
12493	e3838d	30cd	ネ ネ	ネ
12494	e3838e	30ce	ノ ノ	ノ
12495	e3838f	30cf	ハ ハ	ハ
12496	e38390	30d0	バ バ	バ
12497	e38391	30d1	パ パ	パ
12498	e38392	30d2	ヒ ヒ	ヒ
12499	e38393	30d3	ビ ビ	ビ
12500	e38394	30d4	ピ ピ	ピ
12501	e38395	30d5	フ フ	フ
12502	e38396	30d6	ブ ブ	ブ
12503	e38397	30d7	プ プ	プ
12504	e38398	30d8	ヘ ヘ	ヘ
12505	e38399	30d9	ベ ベ	ベ
12506	e3839a	30da	ペ ペ	ペ
12507	e3839b	30db	ホ ホ	ホ
12508	e3839c	30dc	ボ ボ	ボ
12509	e3839d	30dd	ポ ポ	ポ
12510	e3839e	30de	マ マ	マ
12511	e3839f	30df	ミ ミ	ミ
12512	e383a0	30e0	ム ム	ム
12513	e383a1	30e1	メ メ	メ
12514	e383a2	30e2	モ モ	モ
12515	e383a3	30e3	ャ ャ	ャ
12516	e383a4	30e4	ヤ ヤ	ヤ
12517	e383a5	30e5	ュ ュ	ュ
12518	e383a6	30e6	ユ ユ	ユ
12519	e383a7	30e7	ョ ョ	ョ
12520	e383a8	30e8	ヨ ヨ	ヨ
12521	e383a9	30e9	ラ ラ	ラ
12522	e383aa	30ea	リ リ	リ
12523	e383ab	30eb	ル ル	ル
12524	e383ac	30ec	レ レ	レ
12525	e383ad	30ed	ロ ロ	ロ
12526	e383ae	30ee	ヮ ヮ	ヮ
12527	e383af	30ef	ワ ワ	ワ
12528	e383b0	30f0	ヰ ヰ	ヰ
12529	e383b1	30f1	ヱ ヱ	ヱ
12530	e383b2	30f2	ヲ ヲ	ヲ
12531	e383b3	30f3	ン ン	ン
12532	e383b4	30f4	ヴ ヴ	ヴ
12533	e383b5	30f5	ヵ ヵ	ヵ
12534	e383b6	30f6	ヶ ヶ	ヶ
12535	e383b7	30f7	ヷ ヷ	ヷ
12536	e383b8	30f8	ヸ ヸ	ヸ
12537	e383b9	30f9	ヹ ヹ	ヹ
12538	e383ba	30fa	ヺ ヺ	ヺ
12441	e38299	3099	゙ ゙	゙
12442	e3829a	309a	゚ ゚	゚
12443	e3829b	309b	゛ ゛	゛
12444	e3829c	309c	゜ ゜	゜
12353	e38181	3041	ぁ ぁ	ぁ
12354	e38182	3042	あ あ	あ
12355	e38183	3043	ぃ ぃ	ぃ
12356	e38184	3044	い い	い
12357	e38185	3045	ぅ ぅ	ぅ
12358	e38186	3046	う う	う
12359	e38187	3047	ぇ ぇ	ぇ
12360	e38188	3048	え え	え
12361	e38189	3049	ぉ ぉ	ぉ
12362	e3818a	304a	お お	お
12363	e3818b	304b	か か	か
12364	e3818c	304c	が が	が
12365	e3818d	304d	き き	き
12366	e3818e	304e	ぎ ぎ	ぎ
12367	e3818f	304f	く く	く
12368	e38190	3050	ぐ ぐ	ぐ
12369	e38191	3051	け け	け
12370	e38192	3052	げ げ	げ
12371	e38193	3053	こ こ	こ
12372	e38194	3054	ご ご	ご
12373	e38195	3055	さ さ	さ
12374	e38196	3056	ざ ざ	ざ
12375	e38197	3057	し し	し
12376	e38198	3058	じ じ	じ
12377	e38199	3059	す す	す
12378	e3819a	305a	ず ず	ず
12379	e3819b	305b	せ せ	せ
12380	e3819c	305c	ぜ ぜ	ぜ
12381	e3819d	305d	そ そ	そ
12382	e3819e	305e	ぞ ぞ	ぞ
12383	e3819f	305f	た た	た
12384	e381a0	3060	だ だ	だ
12385	e381a1	3061	ち ち	ち
12386	e381a2	3062	ぢ ぢ	ぢ
12387	e381a3	3063	っ っ	っ
12388	e381a4	3064	つ つ	つ
12389	e381a5	3065	づ づ	づ
12390	e381a6	3066	て て	て
12391	e381a7	3067	で で	で
12392	e381a8	3068	と と	と
12393	e381a9	3069	ど ど	ど
12394	e381aa	306a	な な	な
12395	e381ab	306b	に に	に
12396	e381ac	306c	ぬ ぬ	ぬ
12397	e381ad	306d	ね ね	ね
12398	e381ae	306e	の の	の
12399	e381af	306f	は は	は
12400	e381b0	3070	ば ば	ば
12401	e381b1	3071	ぱ ぱ	ぱ
12402	e381b2	3072	ひ ひ	ひ
12403	e381b3	3073	び び	び
12404	e381b4	3074	ぴ ぴ	ぴ
12405	e381b5	3075	ふ ふ	ふ
12406	e381b6	3076	ぶ ぶ	ぶ
12407	e381b7	3077	ぷ ぷ	ぷ
12408	e381b8	3078	へ へ	へ
12409	e381b9	3079	べ べ	べ
12410	e381ba	307a	ぺ ぺ	ぺ
12411	e381bb	307b	ほ ほ	ほ
12412	e381bc	307c	ぼ ぼ	ぼ
12413	e381bd	307d	ぽ ぽ	ぽ
12414	e381be	307e	ま ま	ま
12415	e381bf	307f	み み	み
12416	e38280	3080	む む	む
12417	e38281	3081	め め	め
12418	e38282	3082	も も	も
12419	e38283	3083	ゃ ゃ	ゃ
12420	e38284	3084	や や	や
12421	e38285	3085	ゅ ゅ	ゅ
12422	e38286	3086	ゆ ゆ	ゆ
12423	e38287	3087	ょ ょ	ょ
12424	e38288	3088	よ よ	よ
12425	e38289	3089	ら ら	ら
12426	e3828a	308a	り り	り
12427	e3828b	308b	る る	る
12428	e3828c	308c	れ れ	れ
12429	e3828d	308d	ろ ろ	ろ
12430	e3828e	308e	ゎ ゎ	ゎ
12431	e3828f	308f	わ わ	わ
12432	e38290	3090	ゐ ゐ	ゐ
12433	e38291	3091	ゑ ゑ	ゑ
12434	e38292	3092	を を	を
12435	e38293	3093	ん ん	ん
12436	e38294	3094	ゔ ゔ	ゔ
12437	e38295	3095	ゕ ゕ	ゕ
12438	e38296	3096	ゖ ゖ	ゖ

Categories:

Tags:


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です