0

いくつかの異なるシート内のIDを追跡しようとしていますが、ある基準にTrue値を、別の基準にFalse値を指定できるようにしたいと考えています。これが私が達成しようとしていることの擬似コードです。

IF sheet1.A1.value EXISTS AND DOES NOT EXIST IN sheet2.A:A OR sheet3.A:A
THEN RETURN "true"
ELSE RETURN "false"
4

2 に答える 2

1

これを試して

Sub Sample()
    Dim SearchString As String

    SearchString = "Blah"

    If Application.WorksheetFunction.CountIf(Sheets("Sheet1").Columns(1), SearchString) > 0 And _
    Application.WorksheetFunction.CountIf(Sheets("Sheet2").Columns(1), SearchString) = 0 And _
    Application.WorksheetFunction.CountIf(Sheets("Sheet3").Columns(1), SearchString) = 0 Then
        '~~> Display relevant message
    Else
        '~~> Display relevant message
    End If
End Sub
于 2012-07-16T17:31:14.770 に答える
1

次のような Excel の数式だけでこれを行うこともできます。

=IF(AND(len('Sheet1'!A1)>0 , ISERROR(MATCH('Sheet1'!A1,'Sheet2'!A:A,0)), ISERROR(MATCH('Sheet1'!A1,'Sheet3'!A:A,0))) , "True", "False")

これは次のとおりです。

  • 次の 3 つの条件が満たされている場合は True、それ以外の場合は False
  • 条件 1: Sheet1 のセル A1 が存在する
    • その中のいずれかの値の長さが 0 より大きいかどうかを確認します
  • 条件 2: シート 1 のセル A1 がシート 2 の列 A にない
    • 一致式を実行してこれを確認します
    • 一致がエラーを返した場合、それは見つかりませんでした
  • 条件 3
    • 一致式を実行してこれを確認します
    • 一致がエラーを返した場合、それは見つかりませんでした
于 2012-07-16T20:20:49.673 に答える