例えば、あるサイトやPDFファイルなどを見ていて、本文中に書かれている内容を、表にしたり、計算に使いたいってときはありませんか。
具体的には、次のような文章です。
とあるニュース記事
今月から果物の価格が上昇し、家計に影響を与えています。
例えば、リンゴ:100円、みかん:290円、なし:120円、イチゴ:400円、スイカ:2000円・・・といった状況です。
上の文章の黄色いマーカーをつけた部分ですが、これをエクセルに入力すれば、表にしたり、グラフにしたり、計算したり、分析したりすることができるのですが、文章なので一つ一つ入力するしかないのでしょうか。
いいえ、実は、このような文章形式でも楽にエクセルに取り込む方法があります。(下の図のような表のイメージ)
なお、コロナ禍の現在では、本文中に「今日の陽性者は●名、昨日は●名・・・」などと記載されていた場合、それを取り出して、表にしたいですよね。
ということで、このページでは、「今日:〇人、昨日:〇人・・・」といった文章中の数字をエクセルに取り込んで計算する方法をご紹介します。
スグにためセル! – ここを読めばすぐ使える
今回対象となる文章のフォーマット
それでは詳しく説明していきましょう。
上でもご紹介したように、文章中のデータとして扱えそうな部分を、楽にエクセルに取り込むというのがこのページの目的ですが、どんな文章でも取り込めるわけではありません。具体的には次のような文章が対象になります。
つまり、下の図のように項目名と数値が決まった記号で区切られていて(この例だと「:」)、さらに、その組み合わせがまた別の記号で区切られている(この例だと「、」)ような文章が対象になります。
項目名と数値の区切りは上の例のようにコロン(:)でも構いませんが、そのほかにも、点(・)や矢印(→)、カッコ( )でも構いません。また、組み合わせの区切りは、項目名と数値の区切りとは別の記号である必要があります。
簡単に言えば、データとして取り込みたい部分がパターン化されている文章ということです。
実際にやってみましょう
それでは、実際にやりながら説明していきましょう。
今回は次の例文を用いて表にしていきます。
リンゴ:100円、みかん:290円、なし:120円、イチゴ:400円、スイカ:2000円
最初に文章をエクセルに貼り付ける
まず、データとして取り込みたい部分の文章をエクセルに貼り付けましょう。
この時、貼り付けたセルは最終的には不要になりますので、どのセルに貼り付けても構いません。
また、文字の装飾は不要なので、値で貼り付けておきましょう。
組み合わせの区切りでデータを区切る
エクセルに文章を貼り付けたら、その文章を区切って、一つ一つのセルに入力します。
エクセルには「区切り位置」という、ひとつのセルに入力された文章を、特定の記号の位置で分割して、それぞれのセルに入力する機能があります。
詳しくは下のページをご覧ください。
その機能を使って分割していくのですが、今回の例では、区切り記号は2種類あります。
そう、「項目名と数値の区切り」と「組み合わせの区切り」です。
そのうち、どちらで先に分割するのかというのも重要です。順番を間違えると、うまくデータにすることができません。
今回、先に分割するのは「組み合わせの区切り」からになります。
それでは分割していきます。「区切り位置」機能は「データ」タブにあります。
分割したいセルを選択した状態で「区切り位置」をクリックします。すると、次のような「区切り位置指定ウィザード」が表示されますので、「コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」にチェックをつけて、「次へ」をクリックします。
次の画面では「区切り文字」を選択するのですが、区切り文字が選択肢にあればそれを選択しても構いません。選択肢にない場合は、「その他」にチェックを入れ、隣のテキストボックスに区切り文字を入力します。
今回の例では、全角のコンマ「、」で区切りますので、「その他」を選択し、テキストボックスに「、」を入力します。
最後に「完了」をクリックしてウィザードを閉じましょう。
すると、下の図のように「項目名と数字の組み合わせ」ごとにセルに入力された状態になるはずです。
次はこれらのセルを、今度は区切り文字を「:」として分割するのですが、このまま分割しようとすると下のようにエラーになってしまいます。
そうです。区切り位置機能は、縦の列にしか対応していません。このように横に並んだ行では分割できないのです。
横に並んだ行を縦に並べる
ということで、いったん、横に並んだ行を縦に並べる作業を行います。
エクセルでは、横に並んだものを「行」といい、縦に並んだものを「列」といいます。
そのため、A列、B列、・・・といいますが、A行、B行、・・・とはいいません。
同じように、1行、2行、・・・といいますが、1列、2列、・・・とはいいません。
横に並んだ行を縦に並べるといっても、1セルずつコピーして貼り付けるわけではありません。
それだと、面倒だし、時間がかかってしまいます。
一気に行を列に変えるには、次のようにします。
まず、すべての行を選択し、コピーします。
そして、この行とは違う空白セルを選択して、右クリックします。
表示されたメニューの中から「行/列の入れ替え」をクリックします。
すると、簡単に横に並んだデータを縦に並べることができます。
このあとは、最初の横に並んだデータは使いませんので、削除しても構いません。
項目名と数値の区切りで区切る
次に、縦に並べたデータを「項目名と数値の区切り」で区切って、分割していきましょう。
セルを選択した状態で、「データ」タブから「区切り位置」をクリックします。
表示された「区切り位置指定ウィザード」は先ほどと同じように進めていきます。もちろん区切り文字は「:」としてください。
すると、次のように分割されました。
不要な「円」を削除する
この段階で、文章から表を作成することができましたが、このままだと金額の合計を出したり、計算に用いたりといったことができません。
そのため、金額を数値データにしてあげましょう。
といっても、「円」という文字を削除するだけです。
一気に不要な文字を削除するには、置換機能を利用します。
金額が入力されたセルをすべて選択し、CtrlキーとHキーを押します。
すると、置換ダイアログが表示されますので、「検索する文字列」に「円」と入力し、「すべて置換」をクリックします。すると、金額が入力されたセルが右寄せになり、数値データに変換されたことがわかります。
これで、金額の平均を出したり、個数とかけて合計額を出したりといった使い方できるようになりました。
そのままデータベースとして使用することもできますね。
まとめ
このようにデータとして取り込みたい部分がある文章を、表として用いたり、計算可能なデータとして取得したい場合は、ひとつひとつ手入力しなくても、エクセルの機能を活用してデータに変換することができます。
今回は3つの機能を利用しましたが、このテクニックを覚えておけば、時短につながりますので、ぜひおタメしください。
以上、このページでは、「今日:〇人、昨日:〇人・・・」といった文章中の数字をエクセルに取り込んで計算する方法をご紹介しました。