Excel で数値 m の前に数値 n が現れる回数を数える

Excel で数値 m の前に数値 n が現れる回数を数える

私は何度もサイコロを振って、その結果を Excel に入力しました。1 の後に続く 1、1 の後に続く 2、1 の後に続く 3 などの数を数えたいと思います。そのため、Excel で前のセルを参照して、たとえば前のセルに 1 が含まれていた場合にのみこの 2 を数えるようにする必要があります。これはどのように行うのでしょうか。VBA よりもワークシート ソリューションの方が望ましいです。ありがとうございます。

答え1

前のセルに1が含まれていた場合のみ、この2

たとえば、データが範囲A1:A10を占めている場合、1のすぐ下の2を数えるには、次の式を使用します。

=COUNTIFS(A2:A10,2,A1:A9,1)

VBAでは、

MsgBox WorksheetFunction.CountIfs(Range("A1:A9"),1,Range("A2:A10"),2)

答え2

このソリューションは基本的にアキナの入力されたサイコロの出目数を自動的に調整し、すべての異なる出目を同時に表示します。

次のようにワークシートを設定します。

ワークシートのスクリーンショット

次の数式を に入力しC3、 に入力しますC3:H8

=COUNTIFS(
  $A$3:INDEX($A:$A,ROW($A$3)+COUNT($A:$A)-2),C$1,
  $A$4:INDEX($A:$A,ROW($A$3)+COUNT($A:$A)-1),$B3
)

関連情報