• 締切済み

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

tom04の回答

  • 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

関連するQ&A

  • 二つのシートのセルを比較して、あるセルの値が一致した場合に、片方のセル

    二つのシートのセルを比較して、あるセルの値が一致した場合に、片方のセルの値を 別のシートに設定するには、どうしたらいいでしょうか? [シート1] --|A---B---C---D---E --+---+---+---+---+--- 01|A1 ??? 02|A2 yyy 03|B1 ??? 04|C1 sss [シート2] --|A---B---C---D---E --+---+---+---+---+--- 01|A1 aaa 02|A3 bbb 03|B0 xxx 04|B1 ccc 05|C1 sss シート1 [Aのセル]とシート2の[Aのセル] を比較し、同じ値だった場合に、 シート2の [B] の値を シート1の[C]に設定するための関数はどのようにしたら良いでしょうか? 最終的に、シート1が --|A---B---C---D---E --+---+---+---+---+--- 01|A1 ??? aaa 02|A2 yyy 03|B1 ??? ccc 04|C1 sss sss となります。 Excelの関数あマクロは、どうしても分からなく質問させてもらいました。 申し訳ありませんが、ご教授宜しくお願い致します。

  • 複数の条件に合う行の特定のセルを返す

    ほぼ同じ質問をいくつか見かけたのですが、その式を自分の内容に置き換えても全く希望通りの結果が出ず、質問させてください。 2 1 Aさん 4 1 Bさん 5 1 Cさん 2 2 Dさん 5 2 Eさん セルのA1には「2」、B1には「1」、C1には「Aさん」と入ったシートがあり、例えばセルのD1に A列、B列ともに「2」が入力されている4行目のC列「Dさん」という値が反映して欲しいのですが、その関数が分からなく困っています。 他にもA列が「5」、B列が「1」の結果が(Cさん)が欲しい時もあり、条件にはA列の値とB列の値を使う方法で考えています。 お知恵を貸してください。

  • エクセルでの複数セルの比較

    エクセル初心者です。 ご教授ください。 画像のように AとBの値を比較した時 B2~N2までのセルの値が B7~N7までのセルの値と 等しければOKと表示させるには どうすれば良いのでしょうか? IF関数で試したのですが うまくいかずに・・・

  • エクセルで複数セルと比較する方法

    お世話になっております。 掲題の件、添付した図のようにA列に比較元、C列に比較対象があり、A列の値がC列のいずれかのセルと同じ値だった場合、B列にD列の値を入れるようにしたいと考えております。 何か良い方法をご存知の方がいらっしゃいましたらご回答の程よろしくお願い致します。

  • エクセルの複数せるの内容の一致を確認したい

    エクセルでa1b1c1d1の4セルの値が同じなら●、1つでも異なっていたらXとセルE1に表示させたいのです。 セルが2つだったら=IF(A1=B1,"●","×")とできるのですが多数だとわかりません 教えてください!!

  • エクセル:複数セルからの参照

    お世話になります。 A,B,C列にデータが入っています。 D,E,F列に参照のためのデータがあります。 A,B,C列はそれぞれD,E,F列に対応しています。 A,B,C列と同じ並びのデータが入っている行をD,E,F列から探し、その隣のG列の値をH列に返す。 D,E,F列の並びが重複する行はありません。 A,D列は場所の名前、B,C,E,F列には数字が入っている。 例) A1に事務室 B1に20 C1に3 が入っているとする。 D/E/F列が 事務室/20/3 の並びになっているのが10行目の場合、H1にG10のセルの値を返す。 この場合、H列にはどんな計算式を入れておけばよいのでしょうか? A,B,C列と同じ並びのデータがD,E,F列で見つからない場合は空白をH列に返す。 ちなみにD/E/F列が 事務室/20/3 の並びになっている行は10行目しかないです。 よろしくお願いします。

  • 複数指定セル値と合致したセル値を返す

    A,B,C列に添付の値が入力されておりセルE2の値とF2~F7の値が両方一致したものがA,B列にあればC列の値をG列に順々に入力していきたいのですが。 どなたか関数が解る方、欲をいえばVBAコードが解る方ご教授願います。

  • 数式が入った空白のセルを合計するとき

    数式が入った空白のセルを合計するとき WINDOWS XP EXCELL 2003 です。 各セルの数式は C43 =SUM(B36-C36) D36 =SUMPRODUCT((入力!$C$2:$C$50=$A36)*(入力!$A$2:$A$50=D$1),入力!$E$2:$E$50) E36 =SUMPRODUCT((入力!$D$2:$D$50=$A36)*(入力!$A$2:$A$50=D$1),入力!$F$2:$F$50) E43 =SUM(C43+D36-E36) と数式がそれぞれに入っています。 ご教示を仰ぎたいのは D36,E36 に値がない空白のセルですがこの場合、E43 G43 I43 と表示(この場合 50,000)がされますがD36 若しくはE36に値が表示されたときのみにE43 を表示したいのですが可能でしょうか。 目的は見やすくしたいのですが。 ご指導いたたければ幸甚の至りです。

  • 1セル内の複数キーワード集計

    1つのセルに好きな季節を記入してあります 行に集計項目があります。A1:春 B1:夏 C1:秋 D1:冬 E列に好きな季節をカンマで区切って入れます。 E2:【春】、E3:【秋、春】、E4:【春、初夏】です。 E2:【春】でA2で★表示 E3:【秋、夏】でB3とC3で★表示 E4:【春、初夏】でA4で★表示 としたいです。好きな季節が、1セルに1個だと可能なのです。春=IF($A$1=E2,"★"," ")、夏=IF($B$1=E2,"★"," ")、秋=IF($C$1=E2,"★"," ")、冬=IF($D$1=E2,"★"," ")の関数設定です。1セルに2個以上だとE3で秋、夏に★、E4で春に★は集計できません。これを集計できる方法を教えて下さい ※OKWaveより補足:「ひかりTVのサービスやISPぷらら」についての質問です。

  • LOOKUP?複数のセルを参照?

    「複数のセルの値と一致する場合」という条件で抽出する関数はありますか?例えば A1&B1&C1 = A10&B10&C10 → D1にD10を抽出 よろしくお願いします!