最小の偶数値を見つける(Microsoft Excel)
Eminには、テキストまたは数字のいずれかが含まれるセルの範囲があります。
彼は範囲内の最小の偶数を決定する方法を必要としています。 Eminは、これを数式で実行できるのか、それともユーザー定義関数が必要なのか疑問に思います。
この問題に取り組むには、いくつかの方法があります。試すことができる1つの方法は、DMIN関数を使用することです。必要なのは、データ列にヘッダー( “MyData”など)があることを確認してから、邪魔にならない場所に小さな基準フィールドを作成することです。たとえば、セルF1にヘッダー(「最小偶数」など)を配置して条件フィールドを作成し、セルF2に数式= ISEVEN(MyData)を配置することができます。セルF2は#VALUEに評価されます!エラーですが、この場合は問題ありません。次に、別のセルで次の数式を使用できます。
=DMIN(A1:A100, 1, F1:F2)
必要に応じて、配列数式を使用して最小の偶数値を計算できます。ただし、データ範囲には数値だけでなくテキストも含めることができるため、すべての配列数式が機能するとは限りません。たとえば、データ範囲に数値以外がある場合、次のエラーが生成されます。
=MIN(IF(MOD(A1:A100,2)=0,A1:A100))
エラーが発生しないようにするには、次の式をチェックする必要があります。
=MIN(IF(ISNUMBER(A1:A100),IF(NOT(MOD(A1:A100,2)=0),"",A1:A100)))
繰り返しますが、これは配列数式であるため、Shift + Ctrl + Enterを使用して入力する必要があることに注意してください。
必要に応じて、目的の値を返すユーザー定義関数を作成できます。
Function MinEven(rng As Range) Dim rCell As Range Dim bNotFound As Boolean Application.Volatile MinEven = 9.99 * 10 ^ 307 bNotFound = True For Each rCell In rng If Application.WorksheetFunction.IsNumber(rCell) Then If rCell Mod 2 = 0 Then If rCell < MinEven Then MinEven = rCell bNotFound = False End If End If End If Next If bNotFound Then MinEven = CVErr(xlErrNum) End Function
このマクロを使用するには、ワークシートのセルで次を使用するだけです。
=MinEven(A1:A100)
範囲内に偶数がない場合、関数は#Numエラーを返します。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(124)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。