
仕入元帳と請求書の照合です。
SHEET1に仕入データ、SHEET2に請求データがあります。
(SHEET1)
科目…日付…注番…品名…数量…単価…金額…照合…税…税込金額
仕入…12…ああ…あか… 3…20…60… …3…63
仕入…15…いい…あお… 2…10…20… …1…21
仕入…18…うう…しろ… 1…20…20… …1…21
(SHEET2)
科目…日付…注番…品名…数量…単価…金額…照合…税…税込金額
請求…12…ああ…あか… 3…20…60… …3…63
請求…18…うう…しろ… 1…20…20… …1…21
請求…15…いい…あお… 2…10…20… …1…21
というように各SHEETには数千件のデータがランダムに表示されています。チェックポイント注番と金額で各SHEET同一の注番かつ金額があれば照合欄にaを、照合できないものは空白を表示させたいのです。
毎回データの量が違うため、マクロの記録を使えません。何か良い関数や、マクロがございましたらご教授お願い致します。
A 回答 (9件)
- 最新から表示
- 回答順に表示
No.8
- 回答日時:
NO7です。
>このダブりを解決する条件式はございますか?
この「解決」とはどのような事でしょうか。
はっきりしないご質問をし申し訳ございません。
1つの仕入(注番、金額)に対し1つの請求(注番、金額)を照合したいのです。しかし、現在の式では同じ注番・金額のものがシート1(仕入)で1つ、シート2(請求)で3つあった場合でもaをチェックしてしまうと思われます。これでは仕入値と請求値のチェックした合計が違ってきます。
できれば一度aを付けたものとの照合は避けたいのです。
うまくお伝えすることができずに済みません。宜しくお願いします。
No.7
- 回答日時:
NO6です。
旅に出ていましたので回答が遅れましたことお詫びします。
数式に誤りがありましたので、以下の通り訂正致します。
=IF(SUMPRODUCT((LEFT(Sheet2!$D$2:$D$10000,10)=LEFT($D2,10))*(Sheet2!$C$2:$C$10000=$C2)*(Sheet2!$J$2:$J$10000=$J2)),"a","")
大変お世話になっております。
早速ご回答拝見させていただき、実行してみました。
結果式自体に問題はなく合計は出せたのですが
シート1の1つの注番、金額に対しシート2にシート1と同じ注番、金額が2つ以上あった場合にもaが付くようになっています。
このダブりを解決する条件式はございますか?
宜しくお願いします。
No.6
- 回答日時:
NO5です。
>例えば品名の一部(セル内の前から10文字)をマッチング
(例)品名をD列でセルの先頭から10文字を照合しています。
=IF(SUMPRODUCT((LEFT(Sheet2!$D$2:$D$10000,10)=LEFT($D2,10))*(Sheet2!$C2:$C$10000=$C2)*(Sheet2!$J2:$J$10000=$J2)),"a","")
本件、私にお付き合い頂き誠に感謝しています。
ご回答いただいたLEFT…の式を入力したのですが
#N/Aと表記されてしまいます。
NO4で頂いたご回答では合計金額は合わずともaは表記されていました。
恐れ入りますが再度ご回答お願いします。
No.5
- 回答日時:
NO4です。
キー条件を当初回答で進言しました日付等を追加しては如何でしょうか。
(例)B列を日付として照合キーを追加。
=IF(SUMPRODUCT((sheet2!$B$2:$B$10000=$B2)*(Sheet2!$C2:$C$10000=$C2)*(Sheet2!$J2:$J$10000=$J2)),"a","")
ありがとうございます。私自身も先述であったようにキーとなる列を増やしたのですが(日付)各シートチェックした合計が合いませんでした。
ご回答頂いた数式に加え、例えば品名の一部(セル内の前から10文字)のマッチングといった条件追加は可能なのでしょうか?
No.4
- 回答日時:
NO1です。
数式は、どちらのシートもC列を注番、J列を税込金額としていますので、実際の列番号と相違している場合は変更して下さい。
前回答に誤りがありましたので、訂正させて頂きます。
=IF(SUMPRODUCT((Sheet2!$C2:$C$10000=$C2)*(Sheet2!$J2:$J$10000=$J2)),"a","")
ご回答有難うございます。
早速実行いたしましたが両シートのaを付けた合計が合いません。
もしかしたらシート1の照合キーに対し、シート2に合致するものが2つ以上あった場合にもaが付けれれている可能性があります。
もしそうだとしたら解決策はございますか?

No.3
- 回答日時:
Sheet1!H2: =IF(SUMPRODUCT((C2=Sheet2!C$2:C$9000)*(G2=Sheet2!G$2:G$9000)),"a","")
Sheet2!H2: =IF(SUMPRODUCT((C2=Sheet1!C$2:C$9000)*(G2=Sheet1!G$2:G$9000)),"a","")
ご回答有難うございます。
早速実行してみたのですがシート1とシート2のチェックされたaの合計が合いません。
もしかしたらダブって照合しているのかもしれません。
シート1の照合キー1行に対しシート2には照合キーが2行以上あるものもaと表記されているのかもしれません。
何か対応策はございませんか?
No.2
- 回答日時:
例えば、シート1の照合列H2に=IF(SUMPRODUCT((sheet2!$C2:$C10000=$C2)*(sheet2!$J2:$J10000=$J2)),"a","")を入力し、下方向にコピー
又、シート2側も同様に数式のsheet2をsheet1に変更すればクロスで検証できます。
尚、照合キーとして日付もあった方が良いのではないでしょうか。
その場合、(sheet2!$B2:$B10000=$B2)を*で繋げて下さい。
早速のご回答有難うございます。が、恥ずかしながら私全くの初心者でニュアンス的に式は読めたのですが、実際mu2011さんの式を当てはめ検証することしか出来ませんでした。
さらに貼り付け→コピーをしたのですが両シート0が表記されただけで照合は出来ませんでした。
もう少しお力添えをしていただけないでしょうか?
No.1
- 回答日時:
この回答への補足
ご回答有難うございました。
参考urlを確認させていただいたのですが
全く応用できそうにありません。
己の勉強不足で申し訳ございませんが
もう少しだけお力添えをしていただけないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルシートの見出しの文字...
-
【マクロ】数式を入力したい。...
-
同じ名前(重複)かつ 日本 ア...
-
excel
-
if関数の複数条件について
-
エクセルでフィルターした値を...
-
エクセルに写真が貼れない(フ...
-
表計算ソフトでの様式の呼称
-
エクセルの複雑なシフト表から...
-
エクセルの文字数列関数と競馬...
-
エクセルのライセンスが分かり...
-
【関数】=EXACT(a1,b1) a1とb1...
-
【マクロ】【画像あり】4つの...
-
Excelで4択問題を作成したい
-
【関数】3つのセルの中で最新...
-
【画像あり】【関数】指定した...
-
【マクロ】excelファイルを開く...
-
Dir関数のDo Whileステートメン...
-
【マクロ】【画像あり】4つの...
-
セルにぴったし写真を挿入
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報