goo blog サービス終了のお知らせ 

Mac miniのある生活

DTPオペレーターのためのExcel講座

Adobe社のIndesignは、すっかり「ページもの」の業界標準となった感があります。
このアプリが優れている点をDTPオペレーターに説くのは、「釈迦に説法」ですから、あえて書きませんが。
非常に良く出来たアプリだと思います。
で。
MacでDTPをやってきた者にとって、ありがたい機能の一つが、Microsoft Wordや、Excelのファイルをインポートできること。

いきなりですが、ちょっと余談です。
世の中には、色々面白い人がいるもんですが、DTPオペから見て非常に奇異に映るのは、Excelを組版ソフトのように使ってフライヤー(チラシ)とか作っちゃう人、かも知れません。
でも、MS Officeがバンドルされた一般的なWindows PCを使ったことがある人なら、お分かりのように。
標準アプリとOfficeの中で、最もレイアウトの自由度高く組版に対応できるのは、Excelだったりするのです。
「ワードアート」を駆使して、作っちゃう。
なぜ、Wordを使わないかというと、Excelと違いWordだと、その「ワードアート」がピクセル単位で動かせないから。
てなことになってたりします。
Excelは、プリンタードライバーと、モニタ出力との連携が上手く制御できていないので、プリントアウトするとレイアウトが崩れるという弱点はありますが。。。

本題に戻ります。
今回の記事は、そんなExcelで組版したようなフライヤー(チラシ)データに関する件ではありません。
そんなのは、一から作り直した方がよっぽど楽です(笑)
例えば、Excelの表を挿入したい、なんて場合についての記事です。
住所一覧とか、そういうの。

で。
その肝心の入稿データですが。
顧客のデータ管理担当者が、あまり細かいことを気にしない人だったりすると、こんなことになってたりするわけです。

Excel table

半角数字と全角数字が混在してる。。。orz
さらに。
郵便番号と住所とは、別々に表組する指示が来てるのに、一つのセルの中に入力されちゃってたりする。

・・・・・。
アルと思います。

今回の例のように、20件程度のことなら、頑張って手入力しちゃうテもありますけど。
何百件、何千件となると、気が遠くなって済むレベルじゃない(笑)

さて、どうするのかというと。
Excelの状態で編集しちゃうのが手っ取り早い。

Excelは、もともと表計算ソフトですので、いろいろな「関数」を扱える。
いや。
むしろ、それが本来の使い方です。。。

さあ、では。
上の画像の状態になっているデータを、補正してみましょう。

その前に、ちょっと予習。
Excelの「オートフィル」って何?ていう人は、下記リンク先へ。
オートフィルの使い方
オートフィルで連続入力する方法

大量のデータを扱うときには、必須の操作方法です。
覚えておきましょう。

ではまず、全角数字と半角数字の混在を解消しましょう。

数字を全角数字に統一したいときには、JIS関数。
半角数字に統一したいときには、ASC関数を使います。


1.元のデータの中で、データを入力した人が使用していない列を探します。(今回の例では、B列になります)
---縦軸は「列」横軸は「行」と呼びます。ちなみに、下の画像で、青い線で囲まれているセルは、「A列2行」ということになります。


2.探し出した列の中で、都合のいいセルに、次の関数を入力します。
---都合がいいというのも、微妙な言い方ですが、元データの行と同じ行に合わせておいた方が、混乱せずに済むと思います。

※全角にする場合
=JIS(A2)

※半角にする場合
=ASC(A2)

「A2」の部分は、「A列2行」という意味です。
変換したい元のセルが「C列1行」なら「C1」と、なります。

Excel table

Excel table


3.オートフィルを使って、他の行のデータも変換してやります。

Excel table

Excel table

無事に、希望の数字に統一されました。
しかし、気をつけないといけないことがあります。
画面上の見た目はうまく補正されていますが、この状態では、Excelは、まだ「関数」だとしか認識していません。
実際に欲しいのは文字情報ですから、もうひと手間かけておかなければいけません。


4.変換後の列(関数を入力したセル)を範囲指定し、コピー。


5.その隣の列にペーストするのですが、この時に「形式を選択してペースト」にする。


6.選ぶのは、「値」

Excel table

これで、データが「文字列」に変換されます。
テキストとして抽出するときに、無事に日本語として出てきてくれます。

あとで紛らわしいので。


7.関数を入力して変換に使った列(今回ならB列)を削除してしまいます。

Excel table


数字を統一するだけなら、これで終わりですが。
郵便番号と、住所を分けて別々のセルにしておきたい場合は、さらに処理を続けます。

使うのは.
LEFT関数
REPLACE関数
TRIM関数
です。

LEFT関数は、「左から数えて、指定した文字数までの文字」を抜き出してくれる関数。
REPLACE関数は、「左から数えて、指定した文字数から、指定した文字数までの文字」を、別の文字に置き換えてくれる関数。
TRIM関数は、半角スペースを削除する関数です。

よく分かりませんね、多分。。。
実際に見てみましょう。


8.まず、郵便番号のみ抜き出す方法です。

=LEFT(B2,8)

Excel table

「B列2行のセル」の中で、「左」から数えて「8文字」までを「抜き出せ」という意味です。


9.オートフィルを使って、こうなります。

Excel table


次は、住所のみ抜き出します。


10.郵便番号の部分をREPLACE関数で半角スペースに置き換える。

=REPLACE(B2,1,8," ")
""で囲まれている部分は、半角スペースです。

「B列2行のセル」の中で、「一番左」の文字から、「左から8番目」の文字までを、「半角スペース」に、「置き換えよ」という意味です。

Excel table


11.TRIM関数で半角スペースを全て消してしまう。

=TRIM(D2)
今回の例で、REPLACE関数が入力されているのがD列なので、D2になっています。

「D列2行のセル」から、「半角スペースを削除せよ」という意味です。

Excel table


12.最初に、全角数字(もしくは半角数字)に統一した時と同じように、変換した列(関数が入力されている列)を「形式を選択してペースト」で、文字列にて貼付けし、関数入力されている列を削除すれば、こうなります。

Excel table


以上、です。
なのですが、面倒ですよね?
手順が多くて。

そこで、手際よく作業するために、関数を「ネスト」する方法も覚えておきましょう。
ネストとは、入れ子にすることです。

画像を見た方が早いと思います。

Excel table

Excel table


1.元々のデータに対して、全角数字に統一しつつ、郵便番号のみ抜き出す。

=LEFT(JIS(A2),8)


2.元々のデータに対して、全角数字に統一しつつ、住所のみ抜き出す。

=TRIM(REPLACE(JIS(A2),1,8," "))


3.文字列で貼付けし、関数入力されているセルを削除。

Excel table


以上です。
分かりましたでしょうか?

まずは、自分で操作してみるのが手っ取り早いです。
テスト用に、今回使ったExcelファイルをアップしておきますので、よく分からないという人は実際にやってみましょう。

こちらから落として下さい。


お役に立てば、幸いです。

コメント一覧

管理人
Re:Unknown
noctisさん

コメントありがとうございます。
シャレにならないのを通り越して、逆に笑えるくらい遅レスとなってしまいました。。。

REPLACE関数の件ですが、残念ながら「空白」への変換は出来ない仕様のようなのです。
あるいは、Windows版なら動いたりするかもしれないので、あとで検証してみます。

今後とも、よろしくお願い致します。
あとで、貴ブログへもお伺いさせていただきます。
noctis
http://noctis.at.webry.info/
こんにちは。初めまして。
住所録をちゃんと書くのって面倒ですけど、あとから直すのも面倒ですよね。

ところで、思ったのですが、この関数を書く時に
=REPLACE(B2,1,8," ")
こうやってしまえば
=REPLACE(B2,1,8,"")
半角スペースも入らなくて、TRIMも使わなくて良かったりしないのですか? 自分で試していないので何ですが。
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最新の画像もっと見る

最近の「テクノロジーについて」カテゴリーもっと見る

最近の記事
バックナンバー
2021年
2020年
人気記事