
データベースを作成する場合、セルの最大文字数は 250 文字である必要があります。データを入力するときに、最初のセルの最大文字数を 250 文字にし、さらに文字を入力し続けると、250 文字に達するまで自動的に次の隣接セルにオーバーフローし、さらに次の隣接セルにオーバーフローするようにします。このために 3 つの列を設定しました。
答え1
特別なことを何もせずに(マクロやその他の早期学習には適さない機能なしで)できる方法があります。2 つのシートを使用します。
にデータを入力するとSheet 1
、セルに入力または貼り付けて、Sheet 2
入力したデータに対して機能する数式が表示されます。数式は、単に に入力された値を取得しSheet 1
、必要に応じて分割します。完了したら、一括またはすべてで、1 つまたは 2 つのことを行う必要があります。数式を の値に変換しPaste|Special|Values
、Excel で「空白」が存在する場所でデータベースが true を必要とする場合は、空のセルを処理しますNULL's
。2 番目が必要であると想定します。必要でない場合は、数式のコアを使用します。
つまり、セルにはSheet1!A2
データが入力されています。A2:C2
上のセルSheet 2
には分割されたデータがあります。コア式の提案された結果が空白かどうかをテストし、空白の場合は決して発生しない何かを返します。式では単純な「PPP」を使用しますが、より高位の Unicode 文字、または境界線の描画に古い 128-255 コードを使用することもできます。
列 A は次のようになります。
=LEFT(Sheet1!A2,250)
列 B は次のようになります:
=MID(Sheet1!A2,251,250)
列 3 は次のようになります。
=MID(Sheet1!A2,501,250)
列 3 は使用されないRIGHT()
ことに注意してください。使用する文字数を見つけるのは、ここでの単純なアプローチよりも複雑になるためです。これが機能するのは、MID()
501 文字が存在するか、その後に 250 文字が存在するかは関係ないからです。そうでない場合は、エラーではなく空白が表示されます。したがって、シンプルにしておく必要があります。
それぞれをテストでラップして、IF()
空白が返されるかどうかを確認し、返される場合は一意の値を割り当て、返されない場合は結果をそのままにする必要があります。列 1 の例:
=IF(LEFT(Sheet1!A2,250)="","PPP",LEFT(Sheet1!A2,250))
3 つの列すべてに同じテクニックを使用します。実際に使用される行の下のすべてを空白にしたい場合 (簡単に調べられる 3 つの列では意味がありませんが、いつか 320 列でこれを行うかもしれません)、IF()
対応するセルが空かどうかを確認する別の列ですべてをラップSheet 1
します。返される値は複雑になる可能性があり、可能性は多岐にわたりますが、一意の値を返すことに問題がなければ、これら 2 つを組み合わせて2 つの条件のIF()'s
いずれかをテストできますAND()
。前述のように、他の便利なアプローチも使用できます。
これで、データがすべてオンになりSheet 2
、希望どおりに適切に分割されました。数式ではなくデータにするには、Copy
ボックスに何も指定されていない一意の値を入力して真の空白を作成し、インポート後に true になるようにします。Paste|Special|Values
Search and Replace
Replace
NULL's
もちろん、Sheet 3
次回使用するときに元の場所に再度貼り付けられるように、数式をどこかに(おそらく)用意しておいてください。
最後に、インポートを実行します。
いくつかの簡単な数式を値にして、空白に見えるセルを実際の空白にするだけで完了です。