• 締切済み

複数セルの比較は、可能でしょうか?

教えて頂ければ助かります。 A1,B1,C1,D1にそれぞれ値が入っており、どれか1つでも同じ値があれば、E1のセルに○、一つもなければ、×を表示させたいのですが、お分かりになる方がいらっしゃればよろしくお願いします。

みんなの回答

noname#204879
noname#204879
回答No.6

添付図参照 1.セル G1 に式 =MATCH(A1,B1:$D1,0) を入力して、此れを右方へ(セル I1 まで)ズズーッとドラッグ&ペースト 2.セル E1 に式 =IF(COUNTIF(G1:I1,">0"),"○","×") を入力 3.範囲 E1:I1 を下方へズズーッとドラッグ&ペースト

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

回答No1です。 E1セルには次の式でもよいですね。 =IF(COUNT(A1:D1)=0,"",IF(SUMPRODUCT(COUNTIF(A1:D1,A1:D1))>COUNT(A1:D1),"○","×"))

回答No.4

E1セルに =IF(COUNT(A1:D1)<2,"-",IF(COUNT(A1:D1)=COUNT(1/FREQUENCY(A1:D1,A1:D1)),"×","○")) 数値の個数が2個に満たないときは「-」としました

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

こんにちは! VBAになってしまいますが、一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 データは1行目からあるとします。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long, j As Long, k As Long, str As String, myFlg, myArray Range("E:E").ClearContents On Error Resume Next For i = 1 To ActiveSheet.UsedRange.Rows.Count If WorksheetFunction.CountA(Rows(i)) > 1 Then str = "" myFlg = False For j = 1 To 4 If Cells(i, j) <> "" Then str = str & Cells(i, j) & "," End If Next j myArray = Split(Left(str, Len(str) - 1), ",") For k = 0 To UBound(myArray) If WorksheetFunction.CountIf(Range(Cells(i, "A"), Cells(i, "D")), myArray(k)) > 1 Then myFlg = True Exit For End If Next k If myFlg = True Then Cells(i, "E") = "○" Else Cells(i, "E") = "×" End If End If Next i End Sub 'この行まで ※ 文字列データでも対応できますが、データが数値であればNo.1さんの方が簡単だと思います。 ※ 関数でないのでデータ変更があるたびにマクロを実行する必要があります。m(_ _)m

noname#195146
noname#195146
回答No.2

 E1セルに「=IF(AND(A1<>B1,A1<>C1,A1<>D1,B1<>C1,B1<>D1,C1<>D1),"×","○")」と入力すればできます。  E1をクリックして下にドラッグすると、E列で行が増えながら数式がコピーされますので、その行に対応した数式になります。  E行を横方向にコピーすると、列(A~D)が対応してずれます。ずれてはまずい場合は、A~Dの先頭に$を付け、$A1~$D1のようにしてください。$はコピーやドラッグしても、変わらないように指定する記号です。行方向には変わる必要があるようですので、数字には$を付けません($A$1とか、A$1のようにはしない)。  空白セル(0と入力したセルと同じ扱い)も等しいかどうかの判定に使われるため、空白セルが二つ、あるいは空白セルと数値が0のセルがあると、「○」表示になります。  それではご都合が悪いようでしたら、補足欄にて仰せつけください。無い知恵を絞ってみます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

E1セルには次の式を入力して下方にドラッグコピーします。 =IF(COUNT(A1:D1)=0,"",IF(SUM(COUNTIF(A1:D1,A1),COUNTIF(A1:D1,B1),COUNTIF(A1:D1,C1),COUNTIF(A1:D1,D1))>COUNT(A1:D1),"○","×"))

関連するQ&A

専門家に質問してみよう