• ベストアンサー

特定の文字列に関連するデータを抽出して計算するには

以下のようなデータの中から、特定の文字を含むデータをまとめて計算し、 それを別シートに移したいのです。 何か良い案がありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 左右の表が何というシートのどの位置に入力されていて、右の表を何というシートのどの位置に移動させるのかという事が説明されていないため、仮の話として、左の表の中で「国語テスト(1学期)」と入力されているセルがSheet1のA2セルであり、 右の表の中で「国語テスト」と入力されているセルがSheet1のD2セルであるものとします。  そして、作成された右の表をSheet2のA2~B8の範囲に移動させるものとします。  まず、Sheet1のE2セルに次の関数(或いは回答No.1様の関数でも構いません)を入力して下さい。 =SUMIF($A:$A,$D2&"*",$B:$B)  次に、Sheet1のE2セルをコピーして、Sheet1のE3~E8の範囲に貼り付けて下さい。  これで右の表は完成です。  次に、完成した右の表をSheet2のA2~B8の範囲に移動させるためには、以下の様な操作を行って下さい。 Sheet1のSheet1のD2~E8のセル範囲をまとめて範囲選択   ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせてマウスを右クリック   ↓ 現れた選択肢の中にある[切り取り]をクリック   ↓ Sheet2のA2セルを右クリック   ↓ 現れた選択肢の中にある[貼り付け](ExcelのバージョンがExcel2007以降の場合は、書類が貼られたクリップボードのアイコン)をクリック  或いは、以下の様な操作でも同じ事が出来ます。 Sheet1のSheet1のD2~E8のセル範囲をまとめて範囲選択   ↓ [Ctrl]キーを押しながら[X]キーを押す([Ctrl]キー+[C]キーでは御座いません)   ↓ Sheet2のA2セルを選択   ↓ [Ctrl]キーを押しながら[V]キーを押す  尚、別のシートに"移動"させるのではなく、"コピー"する場合には、上記の関数のままでは正しくコピーする事は出来ませんので、Sheet1のE2セルに入力する関数を次の様なものに変えて下さい。 =SUMIF(Sheet1!$A:$A,$D2&"*",Sheet1!$B:$B)  その上で以下の様な操作を行って下さい。 Sheet1のSheet1のD2~E8のセル範囲をまとめて範囲選択   ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせてマウスを右クリック   ↓ 現れた選択肢の中にある[コピー]をクリック   ↓ Sheet2のA2セルを右クリック   ↓ 現れた選択肢の中にある[貼り付け]をクリック  或いは、以下の様な操作でも同じ事が出来ます。 Sheet1のSheet1のD2~E8のセル範囲をまとめて範囲選択   ↓ [Ctrl]キーを押しながら[C]キーを押す([Ctrl]キー+[X]キーでは御座いません)   ↓ Sheet2のA2セルを選択   ↓ [Ctrl]キーを押しながら[V]キーを押す

soulset319
質問者

お礼

丁寧なご指導ありがとうございます。 私の質問が至らないのに仮想してお答えいただき、 感謝しております。 一つ一つ確認しながらやってみます。

その他の回答 (2)

回答No.2

画像を添付しましたので、この画像を参考にアドバイスを・・・。 >データの中から、特定の文字を含むデータをまとめて計算・・・ セルF2==SUMIF($B$2:$B$14,E2&"*",$C$2:$C$14) の式を入れてセルF8まで式をコピーします。 >別シートに移したい・・・。(コピー&貼り付け) セルE2~F8を範囲指定して「Ctrl」+「C」でコピーをして、別シートを選択→貼り付けたいセルを選択 「Ctrl」+「V」で貼り付けます。 その時循環参照の警告が出ますので「OK」を押します。 最後に貼り付けオプションより「値と元の書式」を選択します。(数式のセルが値に変わります) excel 2010より回答。

soulset319
質問者

お礼

画像まで付けて頂きありがとうございます。 SUMIFという関数をもう少し勉強してみたいと思います。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

SUMIF関数を使います。 元データがA2:B13にあり、集計したい項目がD2セルにあるならE2セルに以下の式を入力して下方向にオートフィルしてください。 =SUMIF(A2:A13,D2&"*",B2:B13)

soulset319
質問者

お礼

素早い回答ありがとうございます。 SUMIFという関数の「&"*"」の部分が勉強になりました。

関連するQ&A

専門家に質問してみよう