ecoslymeです。
エクセルで文字列を数値に直したり、数値を文字列に直したい場合、どうすれば良いのか分からない人も多いのではないでしょうか?
データはあるはずなのに、Vlookupの数式を使ったらうまく反応せず「N/A」になってしまったり、8桁の文字列を日付に変換したいのにうまく変換してくれなかったり、小さなストレスは耐えないと思います。
ひたすら対象セルをダブルクリックするしかないのかな。。。
エクセルのホームタブで表示の変更(標準⇨文字列 or 数値)を行ったにも関わらず、エクセル上で全く表示形式が更新されていないという現象に出会った人も多いと思います。
そこでこの記事では、簡単な操作を加えて「文字列⇄数値」の操作をした後にセル上でちゃんと反映される方法をご紹介します。
また、エクセルのピボットテーブルでは日付機能が追加されており、便利に利用できる場面が多いので、文字列や数値(「20210425」など)を日付に変換してくれる機能も一緒にご紹介します。
対象のセルをひたすらダブルクリックして表示形式をアクティブにさせるといった、力技からおさらばしましょう。
めちゃくちゃ便利な機能なので、是非覚えて下さい。
元データと結果
(元データ:商品名はVlookupで抽出)
(商品マスタ)
⇓
(① Vlookup機能復活)
(② ピボットテーブルで日付機能復活)
数値を文字列に、文字列を数値に一括で変換する方法
まずは、この数値を文字列(数値⇨文字列)に変更もしくは、文字列を数値(文字列⇨数値)に変更する方法についてご紹介します。
つまり、「数値⇄文字列」の変換方法についてご紹介します。
方法は2種類あります。
- 数値⇄文字列へ変換する方法
①:手動で変更する方法(対象が少ない場合)
②:一括で変更する場合(対象が多い場合)
どのような場面でこの「数値⇄文字列」の操作を行うかについて、代表例をご紹介します。
- 「数値⇄文字列」の操作をを行う場合の代表例
・Vlookup関数を利用して、マスタ(商品マスタなど)からデータを引っ張ってきたい場合
・数値を文字列に変換して、「13E3」と入力すると「13000」などと勝手に変換されることを防ぎたい場合
それでは早速ご紹介していきたいと思います。
①:手動で変更する方法(対象が少ない場合)
まずは、気軽に手動で数値を文字列に、文字列を数値に変換する方法です。
以下の例の場合、「商品コード」について以下のように認識されてしまっています。
①元データ :文字列として認識されている(1234のセルの左上に、緑色の三角形マークが表示されている)
②マスタ :数値として認識されている
①元データ
②マスタ
Vlookup関数を利用する際に、非常に不便なのが数値と文字列が異なると、違うデータとして扱われてしまいます。
同じ「1234」なのにVlookup関数が反応しないのはこれが原因です。(「商品」が全てN/Aとなってしまいます)
②マスタの商品コードが数値となっているので、この商品コードを数値から文字列へ変換します。
(Vlookupの機能で困る時に、文字列⇨数値より、数値⇨文字列とさせるケースの方が良い場合がほとんどです。)
・対象の列を全選択した後、ホームタブにある表示形式を「文字列」に変更してください
この操作で変更すれば楽なのですが、そうではないので以下の操作を加えます。
・「F2」ボタンをクリックしてから、Enterを押す(F2はセルを選択してダブルクリックすること同じです。
・ひたすら対象分を最後まで「F2を押してからEnter」を繰り返す
これらの作業でマスタの商品コードが数値から文字列変換され(セルの左上に緑色の三角形が表示されるようになる)ました。
明細表の方も、一応以下の表のように商品名がちゃんと表示され、Vlookupの機能が反映されているようになります。
対象が少ないときはこの方が楽です。
②:一括で変更する場合(対象が多い場合)
では、対象の数が膨大な場合はどうすれば良いでしょうか?
この方法が一番楽です。
・「文字列⇄数値」の変換をしたい列を全選択した後、データタブの「区切り位置」をクリック
・区切り位置ウィザードで文字列へ変換する(次へ⇨次へ⇨「文字列」を選択し、完了)
マスタで選択していたセルが一括で一気に文字列へ変換してくれました。
もちろん、Vlookup関数の機能も復活しています。
一瞬で数値を文字列に一括で変換することができました。
数値で[13E1」などと”E”が記載されている数値は、「10の○乗」の意味となっています。
つまり、13E1=13×10^1(10の1乗)=130 という数値に変換されてしまいます。
この方法でセルを文字列へ変換して「13E1」へ修正すれば、勝手に130という数値へ変換される現象がなくなり、解消されます。
ピボットテーブルで日付の機能を復活させる方法
エクセルで日付が文字列で表示されている場合、ピボットテーブルを利用した時にその日付の機能を利用することができません。
ピボットテーブルの日付の機能とは、データの集計で年、月という情報を利用できるものです。
8桁の「20210425」という文字列は、2021年4月25日というものですが、売上データなどを2021年のくくり(グループ)でピボットテーブルで集計できたり、2021年4月というくくりで集計できます。
以下の表で売上日という8桁の文字列(もしくは数値)を日付に変換してみます。
ちなみにこの状態でピボットテーブルを作成すると以下の表なテーブルになります。
かなり見づらいですね、、、
上でご紹介した方法と同じ方法で、文字列⇨日付へと変換してみます。
・対象の列を全選択し、データタブで「区切り位置」をクリック
・区切り位置指定ウィザードで、次へ⇨次へ⇨日付 と選択してから完了してください
マスタは以下のように売上日の文字列が日付情報へと変換されたことが分かります。
データをフィルタしてみると、日付用のフィルタとなっているので、かなり検索しやすくなりました。
データ量が多いと、この便利さはすぐに分かります。
では、ピボットテーブルを作成するとどうなるでしょうか。
ピボットテーブル作成後、作成した日付関係の項目を列に入れます。
その後、4月などをクリックした後に、分析タブの「グループ化」もしくは「グループの選択」から、グループ化で年と月を選択します。
かなり見やすくなりました。
4月の売上金額の集計が勝手にされるので、データが扱いやすくなりました。
なお、ピボットテーブルのグループ化について詳しくない方は以下の記事をご確認ください。
ecoslymeです。 エクセル(Excel)のピボットテーブルでグループ化を行いたいとき、どのようにすれば良いかすぐに分からないことはありませんか? 困っている人ピボットテー[…]
最後に
いかがでしたでしょうか。
データ作成する時に難しいのはデータの統合(Vlookupを利用したデータ統合など)や、日付の扱いだったりします。
一度覚えると、手間が劇的に削減されるので、是非こんな機能があったなということは覚えておいてください。
こんな機能があったということさえ覚えていれば、この記事を再度読んでいただければその場で解決します。
日々の無駄な作業を減らすように、頑張りましょう。