古風だと言われるかもしれませんが、トーニャと私は今でも、家族や友人に一年の振り返りとして、紙のホリデーカードを送るのを楽しんでいます。12月中に必ず終わらせられるとは限りませんし、時期が遅れて、新年の振り返りが2月中旬に送ったバレンタインデーカードの姿になってしまった年もありました。面白いことに、カードを送るのが遅れたおかげで、友人との会話が増えたというケースがよくあります。バレンタインデーカードは、クリスマスやお正月に届くカードとは一線を画すからです。
なぜ今、3月中旬にホリデーカードについて書いているのか?というのも、一斉に発送してから2ヶ月後、一枚が戻ってきてしまったからだ。こんなに時間がかかったことには驚きましたが、それよりも、住所を間違えたことに不安を感じた。トーニャが問題に気づくまで、カードをじっと見つめる時間がかかった。そして、ようやくひらめいた。
北東部の州のほとんどは、郵便番号がゼロで始まります。コネチカット、メイン、マサチューセッツ、ニューハンプシャー、ニュージャージー、ニューヨーク、ロードアイランド、バーモントです。プエルトリコや、ヨーロッパの宛先への特別配達の軍隊/海外の APO/FPO は言うまでもありません。今年、ラベル作成プロセスについて夫婦で意見の不一致があった後、Tonya がその仕事を引き継ぎ、私のアプローチ (連絡先を Belight Software の Swift Publisher に接続する) から Avery Design & Print Online ツールに切り替えることにしました。連絡先から Avery の Web アプリに住所を移動するために、Tonya は Excel (XLS または XLSX) または CSV (テキストのみのカンマ区切り値) 形式で住所を必要としました。残念ながら、連絡先は CSV にエクスポートできず、VCF (vCard とも呼ばれる) と独自の ABBU 形式 (連絡先アーカイブと呼ばれる) のみにエクスポートできます。
トニヤは、ホリデーカードグループ内のすべてのカードを選択し、選択範囲を空のNumbersシートにドラッグすることで、連絡先からデータを転送しました。そこではデータを思い通りに加工する方法が分からなかったので、Microsoft Wordにコピーしました。1990年代初頭にMicrosoftで数年間Wordのサポートを担当していたため、彼女はWordをほぼすべての作業で頼りにしています。批判の余地はありません。私の定番ツールはBBEditとgrepです。
この問題は、彼女が Avery が受け入れ可能なファイルをエクスポートするために、データを Word から Excel に移動したことが原因で発生したものと思われます。Excel の既定では、貼り付けまたはインポートしたデータの列は数値形式である「標準」としてフォーマットされます。数値形式では先頭のゼロは意味をなさないため (007 は 7 と同じです、ミスター・ボンド)、Excel はそれを平然と無視し、5 桁の郵便番号を 4 桁の誤った郵便番号に変換してしまいます (郵便番号は 3 桁になることもあります。Holtsville, NY 00501 の場合は申し訳ありません!)。事後に郵便番号の列の形式をテキストに戻しても効果はありません。Excel はテキストを数値として解析し、格納されている値を数値に変換するからです。Apple の Numbers は、連絡先からコピーまたはドラッグしたデータを除き、ほとんどのデータを同じように扱います (初版の公開後に、Excel の [書式] > [セル] > [数値] > [セルの詳細] に郵便番号形式が埋め込まれていることを教えてくれたのは Alan Forkosh 氏です。この形式に変更していれば問題は解決していたでしょう)。
連絡先アプリに郵便番号を正しく入力していたのに、友達の郵便番号を記憶していなかったため、ラベルの校正の際に 4 桁の郵便番号を忘れてしまいました。郵便番号をじっくり見る人なんているでしょうか? さらに悪いことに、返送されてきた最初の 2 枚のカードについては、郵便番号すら把握していませんでした。ポールさんとアンディさん、ごめんなさい!(興味深いことに、4 桁の郵便番号のカードがすべて返送されてきたわけではないので、これはさらなる遅延が発生したか、一部の郵便局やメール スキャナーが私たちのミスを回避した可能性を示唆しています。印刷された住所や手書きの住所のほとんどは、完全に自動で管理されています。)
そのため、米国の住所、あるいはUPC番号やSKU番号など、先頭にゼロが付くデータをスプレッドシートに入力する場合は、先頭のゼロが抜けていないことを確認することが重要です。いくつか実験した結果、連絡先からデータを移動する際に郵便番号の先頭のゼロが保持される2つの方法を見つけました。また、他の種類のデータの処理に関するヒントもご紹介します。
連絡先 > 番号 > CSV
Appleのエコシステム内では、連絡先からNumbersにデータをドラッグまたはコピー&ペーストすれば、郵便番号の先頭のゼロも含め、すべてが移行されることが分かっていれば、すべて問題なく動作します。つまり、
- 連絡先から目的の人を選択します。グループに所属している場合は、Command + A を押すと簡単に選択できます。
- コピーするには、Command + C を押します。
- Numbers に切り替えて、新しい空白のスプレッドシートを作成し、Command + V で貼り付けます。
つまり、数回のクリックとキー操作だけで、不要な列を削除したり、データを加工したり、CSVにエクスポートしたりできます。
他のソースから先頭にゼロが付いたデータをNumbersにインポートする場合、状況はさらに複雑になります。その場合、データを二重引用符で囲み、先頭にイコール記号(=)を付けるという解決策があるようです。例えば、郵便番号が07470の場合、="07470"
Numbersで開く前に、ソースデータでこの値を「」に変更する必要があります。(数値を一重引用符で囲むという以前のアドバイスは、もはや機能していないようです。)
CSV ファイル内のそのような郵便番号の列全体を編集する作業は読者にお任せしますが、BBEdit や Nisus Writer Pro などの grep 対応エディターでは、 を検索して に,([0-9\-]{5,10}),
置き換えるだけで簡単にできます,="\1",
。
連絡先 > VCF > CSV > Excel > CSV
Macユーザーなら誰でも、連絡先からコピーしてNumbersに貼り付けることができるはずです。NumbersはMac App Storeから無料でダウンロードできます。しかし、議論の便宜上、連絡先からExcelにNumbersを使わずにコピーする必要があるとしましょう。幸いなことに、エクスポートしたVCFファイルをCSVに変換するのは簡単です。
- 「連絡先」で、目的の人を選択します。
- [ファイル] > [エクスポート] > [vCard のエクスポート] を選択し、ファイルを都合の良い場所に保存します。
- vCard から LDIF/CSV へのコンバーター Web サイトに移動し、「ファイルの選択」をクリックして、ファイルを選択します。
- 「フォーマット」メニューから「CSV」を選択し、「変換」をクリックします。変換されたファイルが自動的にダウンロードされます。
インポートする住所やその他のデータの CSV ファイルを作成したら、先頭のゼロを保持したまま Excel で開くには、次の手順に従ってください。
- Excel で新しいファイルを作成します。
- ファイル > インポートを選択します。
- インポート ダイアログで、CSV ファイルを選択し、インポートをクリックします。
- 次に表示される「開く」ダイアログでファイルを選択します。
- テキスト インポート ウィザードの手順 1 で、[区切り文字付き] が選択されていることを確認し、[次へ] をクリックします。
- ウィザードのステップ2で、タブの選択を解除し、カンマを選択します。すると、データが列に整列するようになります。「次へ」をクリックします。
- ウィザードのステップ3が鍵です。最初の列が選択されたまま(黒色)、2本指でスワイプするか、スクロールホイールでShiftキーを押しながら水平スクロールして右端の列まで移動します。次に、Shiftキーを押しながらその列をクリックすると、その間にあるすべての列が選択され、黒色になります。
- 「テキスト」ラジオボタンをクリックすると、列ヘッダーが「一般」から「テキスト」に変わります。「完了」をクリックします。
- 最後の「データのインポート」ダイアログで、データの保存先を選択し、「インポート」をクリックします。
このファイルを今後使用する予定がある場合は、CSV形式ではなくXLSX形式で保存してください。CSVはテキスト形式であるため、書式設定が保持されません。そのため、テキストインポートウィザードを使用せずにExcelに再度インポートすると、先頭のゼロが失われます。
先頭のゼロを持つデータを二重引用符で囲み、その前に等号を付けるという方法は、Excel でも機能することに注意してください。
Excelは35年、Numbersは16年の歴史を持つにもかかわらず、どちらもインポートされた先頭のゼロをかなりの手間をかけずに処理できないのは実に残念です。ファイルに先頭のゼロが含まれていることに気づき、ユーザーにそれを保持するかどうかを尋ねるのはどれほど難しいことでしょうか?Googleスプレッドシートでさえ、インポートダイアログにこのための簡単なチェックボックスを用意しています。郵便番号を完璧にインポートするには、このチェックボックスをオフにしてください。
もちろん、Contactsにそこそこのラベル印刷機能があれば、こんなことは全く必要なかったでしょう。私たちが欲しいのは、カップルに宛名を正しく宛名書きするための、ミス・マナーズ認定のラベル書式設定オプション2つだけです。
- 同じ姓のカップルの場合、ラベルの最初の行は になります
First & Spouse
。例えば、Adam
私の連絡先カードの「名」フィールドと& Tonya Engst
「配偶者」フィールドからデータを取得して が作成されますAdam & Tonya Engst
。 - 姓が異なるカップルの場合、最初の行は
First Last & Spouse
の代わりに を使用します。Tonyaが旧姓を使用している場合、結果は になりますAdam Engst & Tonya Byard
。
どちらの場合も、配偶者フィールドに配偶者のフルネームが含まれていることを確認します。
Swift Publisher はこれが可能ですが、連絡先との接続が不安定な場合があります。連絡先のデータを使ってこのようなフォーマットオプションを提供しているアプリは他に知りませんが、もしご存知でしたらコメント欄で教えてください!