このツイートがバズりました。


ブログ記事も、たくさんの方にブックマークしていただきました🙇♂️
今回、特にコメントが多かった「1セル1データ」に関して、私なりの修正方法を紹介します。
現場は「1セル複数データ」だから困っている
たとえばこれ。
「1セル1データになっているか」

✖ 【仕入額】【出荷額】のセルに複数のデータ入力している。
✔ 【年度毎】に【仕入れ額】【出荷額】1セル1データで入力している。
いやいや、はじめから1セル1データなら苦労しないの!
✖みたいなデータだらけだから困ってるの!
そうだと思います。私もそうです😅

✖データを再現しました。これはひどい😫

今回、「1セル複数データ」の✖データから、「1セル1データ」の✔データに修正する方法を紹介します。
あくまで、「私ならこうする」という1例であることをご了承ください。
ExcelバージョンはMicrosoft 365です。
使用する機能は、以下の5つです。
- [区切り位置]機能
- FIND関数
- LEFT関数
- 行/列の入れ替え
- 値のみ貼り付け
[区切り位置]機能

1セル複数データが入力されているセルを選択し(この場合はC3:C4)、
[データ]タブにある、[区切り位置]をクリックします。

今回は「、」で区切ります。
「〇コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ(D)」を選択します。
[次へ]をクリックします。

区切り文字を選択します。
[その他]を選択して「、」と入力します。[次へ]をクリックします。

[列のデータ形式]はそのままで構いません(「G/標準」)。
[表示先]が「$C$3」となっています。

そのままでも構いませんが、今回は「$E$6」を選択しましょう。[完了]をクリックします。

「、」で区切られたデータ(374(平成27年度)など)が各セルに分割されました。
行/列の入れ替え

[Ctrl] + [A] でデータを選択し、[Ctrl] + [C] でコピーします。

貼り付け先のセルを選択します。
[Ctrl] + [Alt] + [V] で[形式を選択して貼り付け]。
[行/列の入れ替え]をチェックして[OK]をクリックします([E] → [Enter] でも同じです)。

行と列を入れ替えて貼り付けがされました。

コピー元を消して、列幅を調整しておきましょう。

列見出し(「仕入額」と「出荷額」)を入れておきましょう(コピペでOK)。
だんだんそれっぽくなってきましたね😊
FIND関数とLEFT関数
考え方はこうです。
FIND関数で「(」が何文字目にあるか検索し、
それより左の文字(数値)をLEFT関数で抽出する。

横のセルに「=FIND(“(”,E9)」と入力します。「4」と表示されました。
=FIND(“(”,E9)
これは、「E9セルには”(“という文字が、左から4文字目にありますよ」という意味です。
この「4」を利用します。
左から4文字目に「(」があるということは、左から3文字(4-1)は求めていた数字(373)です。
これをLEFT関数で抽出しましょう。

「=FIND(“(”,E9)」を利用して、同じセルに「=LEFT(E9,FIND(“(”,E9)-1」と入力します。「373」と表示されました。
=LEFT(E9,FIND(“(”,E9)-1)
これは、「E9セルの文字を左から 4(FIND(“(”,E9))-1(つまり3)文字分抜き出す」という意味です。

それを[Crtl] + [D] で一つ上のセルをコピペします。複数選択で↑のようになります。

同様に[Ctrl] + [R] で一つ左のセルをコピペします。

この辺りで行見出しとして、左のセルに「平成27年度」と入力しましょう。
セル右下の「■(フィルハンド)」をダブルクリックし、下まで入力させます。
関数で抜き出すこともできますが、私はこれくらいならベタ打ちします。
もう少しです😅
値のみ貼り付け

数字の部分を選択し、[Ctrl] + [C] でコピーして、
貼り付け先のセル(373(平成27年度))を選択します。

そのまま貼り付けてはダメです。ここでは値のみ貼り付けます。
[Ctrl] + [Alt] + [V] で[形式を選択して貼り付け]。
「値(V)」を選択して、[OK]をクリックします([V] → [Enter] でも同じです)。

値のみ貼り付けされました。
コピー元の「#VALUE!」は、参照元のデータが変わったためのエラーです。
ここでは気にせず行きましょう。

これ、数値が文字列として保存されています。[数値に変換]しておきましょう。

書式を整えて、完成です。
まとめ
いかがでしたでしょうか。
「1セル複数データ」から「1セル1データ」に修正する方法を紹介しました。
以下の5つの機能を使用しました。
- [区切り位置]機能
- FIND関数
- LEFT関数
- 行/列の入れ替え
- 値のみ貼り付け
Excelの機能は、このように組み合わせて使うことで絶大な威力を発揮するのです。
ですが、もっと大事なことがあります。
この作業、めちゃめちゃ大変でしょ。
初めから「1セル1データ」で入力していれば、この作業は不要。
ということです。
データ入力のルールを守ることは、とても大切なのです。
ぜひ、総務省はが示した【データ入力の統一ルール】を守るようにしてください。
おすすめのExcel本はこちらです。