同じブック内で以下のような2シートがあるときに、
(シートA)
A B C
1 あい 123 りんご
2 うえ 456 みかん
3 おか 789 イチゴ
(シートB)
A B C
1 あい 123 めろん
2 えお 456 みかん
3 おか 789 イチゴ
横に並んだ3項目が同じものにだけ、(シートB)のセルに色を付けたいのです。
(上記の例だと、3行目が3項目とも一致しているということです)
色は横3つのセルにつけられなければ、A列のセルだけでも構いません。
(上記の場合、色をつけたいのはシートB「おか」のセル)
列を増やすなど、処理用のデータが必要でも非表示にすればいいので
その点は構いません。
関数や条件付書式などで、なんとかなりますでしょうか?
No.1ベストアンサー
- 回答日時:
こんにちは。
maruru01です。Sheet2のD列を作業列として使用します。
まず、D1に、
「=AND(IF(ISERROR(VLOOKUP($A1,Sheet1!$A$1:$C$3,2,FALSE)),"",VLOOKUP($A1,Sheet1!$A$1:$C$3,2,FALSE))=B1,IF(ISERROR(VLOOKUP($A1,Sheet1!$A$1:$C$3,3,FALSE)),"",VLOOKUP($A1,Sheet1!$A$1:$C$3,3,FALSE))=C1)」
と入力します。
(D列には、"TRUE"か"FALSE"が表示されます。)
なお、VLOOKUP関数の第2引数の範囲は、Sheet1のデータ範囲を絶対参照($付き)で指定して下さい。
そしたら、Sheet2のA1からC3(データの一番右下のセル)までドラッグします。
("A1から"というのが重要です。)
[条件付き書式]で、条件を、
「数式が」
「=$D1」
として、書式を設定します。
この回答への補足
かんっぺきです!!
まさにしたい事がちゃんとできました。
ありがとうございました!!!
ごめんなさい、ちょこっとだけ補足なのですが、
もし以下のようにシートAのA列に、1か空欄かのデータがあった場合に
(シートA)
A B C D
1 1 あい 123 りんご
2 うえ 456 みかん
3 1 おか 789 イチゴ
シートBにも同じようにAの列を作って、
そこに1か空欄かのデータを入れることもできますか?
横3つが同じならばそれは複数行出てきても、1か空欄かのどちらかです。
1の場合と空欄の場合両方があることはありません。
列B,C,Dのそれぞれのデータが一致するものを判定して
それのA列にあるデータをシートBにも持ってくる、という感じです。
そんなこともできますでしょうか。
すみません!!m(_ _)m
また違う質問になってしまってますね。
新たな質問として投稿することにしました。
ありがとうございました!!
No.6
- 回答日時:
既に出ているご回答が相当理解するのに手間が掛かりそう
に思います。それで質問者の希望に無いのですが、VBAを
参考までに載せます。ロジックも初歩的な、総なめ法を使っているので、やっていることは単純で判りやすいと思います。そこがVBAの良いところだと思います。
ぜひ見てください。
Sub test02()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet1")
Set sh2 = Worksheets("sheet2")
'Sheet1とSheet2の最下行を知る
d1 = sh1.Range("A1").CurrentRegion.Rows.Count
d2 = sh2.Range("A1").CurrentRegion.Rows.Count
'------Sheet1の各々全行について、Sheet2の
'全行に渡って同じ物があるかどうか総なめで比較する
For i = 1 To d1
s1 = sh1.Cells(i, "A") & sh1.Cells(i, "B") & sh1.Cells(i, "C")
For j = 1 To d2
s2 = sh2.Cells(j, "A") & sh2.Cells(j, "B") & sh2.Cells(j, "C")
If s1 = s2 Then
'見つかればSheet1のA列に黄色を付ける
sh1.Cells(i, "A").Interior.ColorIndex = 6
End If
Next j
Next i
End Sub
ありがとうございます!
また違った方法をお教えくださって勉強になります。
関数の方が使い慣れているため、理解は簡単でした。
でもVBAもチャレンジしてみようとは思っておりますので
その時にはぜひこの例で勉強してみようと思います!
No.5
- 回答日時:
#3です。
私の方法だと、例えば
A B C
1 あい うえ おか
2 あ いうえお か
みたいな区切り位置が違うだけの時もHITしちゃいますね。
そういうのが無いデータの場合に使用してくださいm(__)m
あ、そうですね!
でも区切り位置が違うだけのデータは無いので
やってみてもうまくいって感動しただけで、気付きませんでした。。。
どうもありがとうございました!!
No.4
- 回答日時:
こんにちは
例記の範囲で説明します
------シートA---------
・A1:A3を選択 挿入 名前 定義 DATA1
・B1:B3を選択 挿入 名前 定義 DATA2
・C1:C3を選択 挿入 名前 定義 DATA3
------シートB---------
・A1:C1を選択
・書式 条件付き書式 数式が▼
数式欄に
=MAX((DATA1=$A1)*(DATA2=$B1)*(DATA3=$C1))
書式ボタン パターンタブ 好みの色を設定
・A1:C1を選択した状態で必要範囲の下行へ
右ボタンを押したフィルドラッグ 書式のコピー
式で不特定行3列で全ての比較演算が TRUE なら
1=TRUE となり
1つでも合致しない列があれば
0=FALSE となります。
その中でMAX(最大)を抽出する
→ 結果 合致する行がある場合1(TRUE) 全ての行で
合致しない場合0(FALSE)となります。
ありがとうございましたー
やってみましたが、完璧です!
ですが、例では3行しかないのでそれで十分なのですが、
実は実際に使いたかったシートにはデータが2000行くらいあるのです。。。
全部に範囲名をつけていくのは、ちょっと大変・・・
でもそのやりかたは全く考え付きませんでした
勉強になりました。ありがとうございました!
No.3
- 回答日時:
まずはシートBのD列・E列にチェック用のデータを作りましょう。
(条件付書式では他のシートを参照できないため)
D列(シートAのチェック用データ)
=Sheet1!A1&Sheet1!B1&Sheet1!C1
E列(シートBのチェック用データ)
=A1&B1&C1
こうなります。
(シートA)
A B C
1 あい 123 りんご
2 うえ 456 みかん
3 おか 789 イチゴ
(シートB)
A B C D E
1 あい 123 めろん あい123りんご あい123めろん
2 えお 456 みかん うえ456みかん えお456みかん
3 おか 789 イチゴ おか789イチゴ おか789イチゴ
あとは条件付書式です。
シートBの1行目で参照するのはシートAの1行目だけでいいですか?
それならば[数式が][=$D1=$E1]でお好みの書式を設定してあげればOKですね。
カーソルでセル指定すると絶対参照で出てくるので、列番号の前の$マークは消してあげてください。
これを下方向にコピーすればOKです。
シートAの「どこか」と一致する場合、というなら、条件数式を
=MATCH($E1,$D$1:$D$3,0)
としてください。
No.2
- 回答日時:
私の知識では
表外にマークを付ける以外方法はみつかりませんでした。
たぶんそんなことだったらしっとるわと思われるでしょうが…
別のシートか別の欄に
IF関数でIF(A3=A3,0,1)
とういう具合にして
D3に合計を出し 『0』の時は、表外 D3に(列を挿入してA3にでも)IF関数で0の時は☆とかでも…
質問のとおり出来る方法があれば私も知りたいです♪
それですと、シート間で同じ行にあるものしか
判定できない・・ですよね。たぶん。
でも0か1かで判定して合計を出すというのは、いろんなことに
使えそうです!どうもありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Visual Basic(VBA) vbaについて 主に以下のような設定をしたいです。 Aブックの表の行数が20未満だったら Bブックの 1 2023/06/08 23:40
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで上位バイトのセルと...
-
エクセルの問題です。絶対値の...
-
エクセルの関数の勉強の仕方
-
CELL関数のヘルプ文の意味?
-
非表示列の再表示に失敗
-
ピボットテーブルという機能に...
-
エクセルのコメントのデザイン...
-
libre 表計算ソフトの計算がう...
-
「問題が発生しました」ですと?
-
西暦和暦
-
Pivotで、フィルターまたは行ラ...
-
エクセルはエクセレントに難しい
-
半角カタカナをヘボン式ローマ...
-
xlsxファイルを保存する際にPDF...
-
Excelに詳しい方お願いいたしま...
-
エクセルの入力データと図形の...
-
pdfの表をexcelにはりつけて計...
-
Excel PowerQueryで日付の列が...
-
エクセルの「赤」の印刷がうま...
-
棒グラフの縦軸目盛線の間隔変更
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報