■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
中小印刷業のための、オンリーワン戦略考  (2009/6/1)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
●172号  2009  バリアブル基礎  アルゴリズム4
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

今回は、マッチングについてお話します。
マッチングとは、照合することです。
2つのファイルキーの比較で
等しい場合どうする
等しくないときはどうするという仕組みです。

エクセルでのマッチングは、
VLOOKUP関数です。そして、IF関数の組み合わせは、
ダイナミックにデータの比較・更新を実現できます。
6万5000件以下であれば、シートで実現です。


実際の作業を提示しましょう。

論文のキーワード索引の作り方です。


インデザインの索引処理で、いちいち付けながら組版していく事は
長期間の余裕があればいいのですが、
そんな時間がある処理はしたことがありません。

●インデザインには、XMLからの流し込みで、組版を
します。
●そのとき、キーワードというタグセットと、
段落スタイルとリンクさせます。
●そして、目次スタイルで、このキーワードを指定して
目次を実行すれば、キーワードのデータとノンブルが付与された
テキスト(目次)が手に入ります。
※  ノンブル+タブ*キーワードデータで設定すること
そして、キーワードの区切りは、全角カンマにしておく

●そして、キーワードを事前に収集して、
振り仮名を付けておくことが、ミソです。
(振り仮名ファイルとします)項目は、キーワードと振り仮名です。

●キーワードデータをテキストエディタで開き、
区切りの全角カンマを改行に置換します。
そのデータを、コピペして、エクセルに貼ります。
●このでーたを並べ替えます。
●そして、データの前と後ろに不要なものがあれば削除します。
●そして、データのフィルターオプションで重複を排除をチェック
して実行すると
複数のキーワードが重複なしで選択されます。
●これをコピーして、またテキストエディターにペーストします。
これで、重複データはなくなります、
CSVに書き出してもいいのですが
この方法が、早いので多用しています。


●そのデータを、エクセルの新しいシートにコピペすれば
振り仮名の準備が出来上がりです。
●このデータに、振り仮名を付けるのですが
エクセルの再変換機能を使います。
●A列にこのキーワードが並んでいるとします。
A列を全選択してB列にペーストします。
●B列の頭から、セルを選択すると、上のデータ領域のデータを
選択状態(カーソルを先頭に位置させ左クリック押しながら右に移動すると
リバース表記になります=選択状態)
これを右クリックして再変換を選べば振り仮名が表示されます。

●これで、一応作成後、読みの間違いないか、責任者の確認をお願いします。
これで、振り仮名テーブルは出来上がります。

一方、本文の組版をしたデータが出来上がれば、
キーワード索引の処理です。

●目次スタイルでキーワードを指定して
項目の前にページデータを設置するようにします。区切りはタブです。
●これで、組版データから目次処理をしますと、
ページ+キーワード(複数個)
というテキストが手に入ります。

●このテキストをコピーして、テキストエディターにペーストします。
●ここで全角カンマをタブに変換します。
●そして全部コピーしてエクセルにペーストすると
●A列はページ番号、B列からキーワードが各列に入ります。
最大4キーワードですので、E列までしか入りません。

これも、経験からの処理方法です。
エクセルで1つ1つ切り取り、ペースなどと時間のかかることは
生産性がありません。
ぜひこの方法で、エクセルとテキストエディタ(秀丸:MIFES)での
使い勝手は、抜群だと思います。

エクセルに目をやると見えてきませんか次のやることが
●そう、2番目以降のキーワードの左に列を挿入してください
3箇所の空列が1つおきにみえるでしょう。

●A列の左に空列をつくります。
計算式をA1に入れます。{="@"&b1}です。数字の前に@を全て付けます
●再度A列の左に空列を作ります。
●B列のデータをコピーして、A列にコピーするとき形式を選択して張り込みを選びます
●そして、「値」を指定して張り込みます。
そうするとB列、C列を消しても@付の数字の列が残ります。
●このA列をコピーして2項目以降の空の列にペーストしてください。
これで、ページデータとキーワードのデータが1つ1つ並ぶことになります。
●出来上がったデータを秀丸に持っていきます。
●秀丸上では、
@マークを改行に変えます。
これで
ページ+タブ+キーワードというデータになります。
●これを、エクセルにもっていきます。

いよいよです。マッチング処理は。


●エクセルにはA列にページ、B列にキーワードと並んでいます。
C列に計算式を入れます。
Vlookup関数で、振り仮名シートを指定して
c列に振り仮名データを持ってきます。
=vlookup(b1,振り仮名シート!$a$1:$b$最後の行,2,false)
という式をC列全てに入れます。
●D列にC列をコピペ(形式を選択:値)して
C列を削除すれば、
ページ、キーワード、読みというデータになります。
このデータの読み、ノンブルでソートをかけます。

但し、項目の重複内のノンブルの重複を排除して
基礎データの出来上がりです。
索引としての50音の見出し処理、ノンブルの並び処理
などは、各論文により違いますので、ここでは省きます


これが、マッチング処理の実務での使い方です。
このレベルの処理は、専用のプログラムを作り
処理するのが、システム屋の仕事だったものが
エクセルの関数で処理できてしまいます。
すごい時代になっています。
コボルでの処理の時代から30年、大型機のプログラマ専用の
処理領域だったものが、誰でも道具は使えるようになって
しまいました。

ただし、そのエクセルの関数+テキストエディタ+
インデザイン+XML  の全体の動きを理解しないと
実務には使えません。

ちなみに、総ページ400P、8ファイルのインデザインデータ
を、処理するのに、確認時間を含めて、半日仕事でした。
エクセルなどでのデータ処理時間は、2時間程度です。
前年の他社の索引作成は、2週間かかったそうです。

この索引処理のためのキーワードとノンブルデータ
キーワード+読みのデータ
この2つをマッチングする方法は、このエクセルでの
処理が最適であると思っていますが、

他のうまい方法でやられている方もおいでになると思います。

よかったら、教えていただけませんか。

若い人のユニークで高速処理の方法があるはずです。



今週は、ここまで、


時間は、どんどん過ぎていきます。
さあ、あなたはどう動きますか。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

編集後記


「中小印刷業創業のための、戦略考」
発行責任者:土田  文利
※公式サイト  こちら→  楽天ブログ
http://plaza.rakuten.co.jp/23104tuchida/diary/

ミラーサイト
http://1insatukigyou.seesaa.net/

メルマガサイト
http://www.mag2.com/m/0000170391.html
Copyright  (c)  2008  Fumitoshi  Tsuchida.  All  rights  reserved.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━