マスタシートと別シートがあります。
別シートに会社名などを入力したときに、マスタと1つでも重複している項目があれば、
TRUEで返すように、重複がなければFALESになるようにしたいのですが、
1つも重複していなくても、空白があれば一致と認識されて、TRUEが返ってしまいます。
画像例)下のシート4行目の「重複してない会社」はどの項目とも重複していないに
TRUEになってしまうが、空白を一致とみなさないでFALESを返したい。
今入れている関数は、
=OR(B2=マスタ!B:B,C2=マスタ!C:C,Sheet2!D2=マスタ!D:D,Sheet2!E2=マスタ!E:E,Sheet2!F2=マスタ!F:F)
3万行以上あるデータで今はsumproductを使用しているのですが、
少しでも軽くなれば良いなと思っています。
(エクセルで扱うデータ量ではないのは承知なのですが…。)
どなたかお知恵を貸して頂ければ幸いです。
宜しくお願い致します。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
どこが重複項目かも判断してA2セルに
=IF(B2<>"",ISNUMBER(MATCH(B2,マスタ!B:B,0))*10000)
+IF(C2<>"",ISNUMBER(MATCH(C2,マスタ!C:C,0))*1000)
+IF(D2<>"",ISNUMBER(MATCH(D2,マスタ!D:D,0))*100)
+IF(E2<>"",ISNUMBER(MATCH(E2,マスタ!E:E,0))*10)
+IF(F2<>"",ISNUMBER(MATCH(F2,マスタ!F:F,0)))
で重複しているマスタの行番号を返す
(複数項目に重複が及ぶ場合は、左の項目優先で)
=IF(A2=0,"",MATCH(INDEX(B2:F2,5-INT(LOG(A2,10))),INDEX(マスタ!B:F,,5-INT(LOG(A2,10))),0))
余談ですが
>=OR(B2=マスタ!B:B,C2=マスタ!C:C,Sheet2!D2=マスタ!D:D,Sheet2!E2=マスタ!E:E,Sheet2!F2=マスタ!F:F)
は Sheet2!A2に入力しているとして
=OR(B2=マスタ!B2,C2=マスタ!C2,D2=マスタ!D2,E2=マスタ!E2,F2=マスタ!F2)
と同じ計算になります。
No.3
- 回答日時:
こんな数式ではどうでしょうか?
配列数式ですと、そのセルのメモリの計算が積になってしまいますから、1セルで16バイト+文字数×2バイトとしても、一度に使用すると、Excelの個々の機能で与えられているメモリ容量を遥かに越えてしまうのではないでしょうか。
A2において、フィルハンドル(+)をダブルクリックすれば、数式がコピーされるはずです。(一応、横はF列までにしました)
=SUM(COUNTIF($B$1:B2,B2),COUNTIF($C$1:C2,C2),COUNTIF($D$1:D2,D2),COUNTIF($E$1:E2,E2),COUNTIF($F$1:F2,F2))>COUNTA(B2:F2)
これは、後に出てくる方にTRUEが出る仕組みになっています。
かならず、2行目からの始まりにしてください。1行目のセルをダミーにしています。
No.2
- 回答日時:
No1 くんこばさんの云うとおり、一項目毎にチェックした方が早そうです。
項目毎に「会社名の重複結果」「TELの重複結果」…をそれぞれ設けた方が、重複箇所がわかるので、更に便利ですよ。
どの関数が早いかは、やってみないと分からないのですが、感覚的にはMatchですかね。
No.1
- 回答日時:
この関数では、会社名以外にも電話番号やFAX番号でも重複チェックしてるんですね?どれかがヒットすれば重複ありと。
とりあえず、会社名の重複チェックだけに絞って試してみては?
あと重複チェックですが、Vlookup関数やMatch関数、CountIf関数など、他にも関数はいろいろあると思いますよ?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) IFERROR、SMALL関数について 2 2022/08/22 23:40
- Excel(エクセル) 【条件付き書式】countifsで複数条件を満たしたセルを赤くする方法 2 2023/02/09 23:53
- Excel(エクセル) Excel関数 情報引用する方法 4 2022/07/31 20:59
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) エクセル関数の詳しい方に質問です 2 2023/01/12 12:48
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Excel(エクセル) Excel M365 データチェックの仕掛けを作りたい 2 2023/06/03 23:54
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】スペースがいくつ入っ...
-
西暦や和暦の表示をyyyymmdd表...
-
【Microsoft Office Excel Comp...
-
Excelはなんで先頭の0を消すん...
-
Excelのセルを飛ばして入力する
-
別シートからの文字を変更
-
エクセルの行の抽出について質...
-
Excelのオートフィル
-
Excel 2019 のピボットテーブル...
-
スプレッドシート クエリ関数 1...
-
excelの不要な行の削除ができな...
-
Excel初心者です。 詳しい方、...
-
【Excel】セル内の時間帯が特定...
-
Excel初心者です。 詳しい方、...
-
EXACT関数とIF関数の組み合わせ...
-
Excelのグラフ軸について
-
スマートな関数を教えて下さい。
-
Excelで全角を半角にしたいので...
-
【マクロ】エクセルにかいてあ...
-
Excel:一部のフォントでセルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報