数値のリストで3つおきの最大の数値を見つけたい場合は、IF、MAX、MOD、およびROW関数を組み合わせて使用​​できます。

「IF関数」は、指定した条件がTRUEかFALSEかをチェックします。条件がTRUEを返す場合はプリセット値を返し、条件がFALSEを返す場合は別のプリセット値を返します。

構文= IF(logical_test、value_if_true、value_if_false)

logic_test:論理テストは、条件または基準をテストします。条件が満たされている場合はプリセット値を返し、条件が満たされていない場合は別のプリセット値を返します。

value_if_true:この引数がTRUEを返した場合に返される値。

value_if_false:この引数がFALSEを返した場合に返される値 “MAX”:セルまたは配列の範囲から最大数を返します。たとえば、数値のリストに5、6、7、8、9、および10が含まれている場合、出力は10になります。

構文= MAX(number1、number2、…​)

number1:*これらは数値です。数値、名前付き範囲、または配列にすることができます。最初のvalue引数は、参照として取得した値を表します。

number2:*これらは数値です。数値、名前の範囲、または配列にすることができます。 2番目のvalue引数は、参照として取得した値を表します。

最大255個の引数を指定できます。以下に示すスクリーンショットを参照してください:

img1

「MOD」:数値を除数で割った後の余りを返します。

構文= MOD(number、divisor)

数値:余りを求めたい数値です。

除数:数値引数を除算するために使用される数値です。

「ROW」:参照の行番号を返します。

構文:= ROW(参照)

参照:セルまたはセルの範囲への参照です。

例を見てみましょう:

列Aにいくつかの乱数があります。列Aのリストから3つの数値の各セットを検索し、このセットの最大数を見つけるには、セルB2に数式が必要です。 3つおきの数字は赤で強調表示されます。

img2

  • セルB2では、数式は

になります。 === * = MAX(IF(MOD(ROW($ A $ 2:$ A $ 10)-ROW($ A $ 2)+1,3)= 0、$ A $ 2:$ A $ 10))

これは配列数式です。CTRL+ SHIFT + ENTER *を押します。これを使用すると、数式は中括弧で囲まれます。

* \ {= MAX(IF(MOD(ROW($ A $ 2:$ A $ 10)-ROW($ A $ 2)+1,3)= 0、$ A $ 2:$ A $ 10))}

img3

  • 10より大きい数値がありますが、出力は10です。

これは、上記の数式が範囲内の3つおきの数値をチェックしているためです。すべての中で最も高い場合、数式は範囲内の1 ^ st ^&2 ^ nd ^ positionにある値を無視します。この例では、100と2が1 ^ st ^&2 ^ nd ^ numbersです。

  • 数式はセルA2:A4をチェックし、3 ^ rd ^の数が3であることを検出します。

範囲A5:A7では、3 ^ rd ^番号は10であり、範囲A8:A10では、3 ^ rd ^番号は9です。これらの3つの番号(3,10,9)の最大数は10です。したがって、出力は10です。