■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
中小印刷業のための、オンリーワン戦略考 (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.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━