• 締切済み

Excel 串刺し計算について

各月(1~12月)に発生した形の「○」「△」を集計シートに反映させたいのですが・・・ 複数シートの同じ位置にある数字以外の「○」「△」を反映させる方法はありませんか。 あればどなたか教示お願いします。 Excel2010使用

この投稿のマルチメディアは削除されているためご覧いただけません。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 串刺し計算は複数Sheetの同位置のセルの足し算しかできません。 今回のような場合はNo.2さんが回答されているように コツコツ足し算を行うか、VBAになると思います。 そこでVBAでの一例です。 Alt+F11キー → メニュー → 挿入 → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) ※ すべてのSheetの配置がお示しの画像通りの配置で、A列の並び順も同じだという前提です。 Sub Sample1() 'この行から Dim i As Long, k As Long, lastRow As Long With Worksheets("集計") lastRow = .Cells(Rows.Count, "A").End(xlUp).Row If lastRow > 2 Then Range(.Cells(3, "C"), .Cells(lastRow, "C")).ClearContents End If For i = 3 To lastRow For k = 2 To Worksheets.Count If Worksheets(k).Cells(i, "B") = .Cells(i, "B") Then .Cells(i, "C") = .Cells(i, "C") + Worksheets(k).Cells(i, "C") End If Next k Next i End With End Sub 'この行まで ※ 関数でないのでデータ変更があるたびにマクロを実行する必要があります。m(_ _)m

blackcat77
質問者

お礼

回答ありがとうございました。

すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

簡単という意味では =IF('1月'!B3<>"",'1月'!B3, IF('2月'!B3<>"",'2月'!B3, IF('3月'!B3<>"",'3月'!B3, …… IF('12月'!B3<>"",'12月'!B3,"")))))))))))) のように重ねて調べていくのが、一番簡単で間違いのない方法です。 文字列を串刺す方法はありませんし、いまヤリタイ事はそもそも串刺しでもありません。

blackcat77
質問者

お礼

回答ありがとうございました。

すると、全ての回答が全文表示されます。
  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

んー・・・それって串刺し計算とは関係ないような気がするんですけど・・・ 結局どうしたいのでしょうか。 たぶん、 複数のシートに点在している記号を1つのシートにまとめて表示させたいと言うことなんでしょうけど  重複しないならよいのですが、「○」「_」「_」「_」  重複した場合とか、「○」「○」「_」「_」  異なる記号が出たときとか。「○」「△」「△」「_」 どう処理するのかを決めないといけませんよね。 質問者さんが思っているよりも、結構複雑な状況になり得ますので それに対してどうするのか、まずは決めておきましょう。

blackcat77
質問者

お礼

回答、アドバイスありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A