・2つのキーを比較しながら処理はどうやって作成するの?・ファイルの読み込みタイミングはどうすればいいの?・どうやって作ればわかりやすいの?・新入社員教育でやっているけど、難しくて理解できない、困っているという方へ、1:Nのマッチング処理を徹底解説します。プログラムはVBAで紹介・検証していますが、ロジックはCOBOLはもちろん他の言語でも使えます。構造化によるマッチングも紹介します。これまで「IF文によるキー比較」で作成されてこられた方も、ご一読頂ければと思います。マッチングの説明マッチングとは、2つ以上のファイルを順次読み込み、キー項目を比較して処理することです。マッチング」とは、商品マスタと売上ファイルのように・商品マスタは、キーとなる商品コードに重複がなくユニーク・売上ファイルは、キーとなる商品コードに重複がある照合処理です。商品コード順にソートされた商品マスタと売上ファイルがあり商品コードで照合し、1.一致する商品コード2.商品マスタになく、売上ファイルだけに存在する商品コード、3.売上ファイルになく、商品マスタだけに存在する商品コードをリストアップする場合です。Excelであれば、2つのシートに商品マスタと売上ファイルを格納し、[VLOOKUP]関数をそれぞれの表に入力して見つけることでしょう。データベースを操作するSQLであれば123とも、それぞれ数行のコマンドで抽出できるでしょう。一部重複する部分もありますが、以下の記事に目を通して頂けますと理解しやいと思います。1:1のロジックを徹底解説!VBAで確認ファイルを使うアルゴリズム「1:1マッチング」を一般的な“If”文のキー比較に加え“While”又は“Until”でループする処理でフローチャートとExcel-VBAプログラムで注意点を含め解説します。プログラムは環境があれば確認できます。jibun-kaizen.com2022.05.092パターンのマッチング処理を紹介致します。IF文でのマッチングプログラムを作成するときに[IF文]でキーを比較するパターンです。フローチャートでは横広がりになります。なるまで]繰り返し・[商品マスタ読み込み]の判定文を無くすにしても同じですが、「1件づつを読み込み処理する」にするフローにしました。やすくするために、すべてのファイルをSheets(1)で作成・処理しており、商品コードとしています。売上ファイルは処理前後がわかりやすいように"A",”B”など1項目を設けています。説明を分かりやすくするために処理後の説明をsheets(2)に作成していますが、実行結果はsheets(1)に作成されます。入力の・[商品マスタ]はA列で、読み込みは変数ix1を1ずつアップ・[売上ファイル]はB-C列で、読み込みは変数ix2を1ずつアップ出力の・1はD-E列で、書き込みは変数ixe(equalの意)を1ずつアップ・2はF列で、書き込みは変数ixl(lessの意)を1ずつアップ・3はG-H列で、書き込みは変数gx5(greatの意)を1ずつアップ出力ファイルは、最初にクリアした状態にする必要があるため、[Sheets(1).Columns(n).Clear]でクリアしています。・読み書きするために必要な添え字[ix1]~[ixg]に初期値設定すること、及び、書き込むためのシートクリアをファイルオープン・処理結果をそのまま画面に表示しおくため、ファイルのクローズ処理はないです。ループ処理でのマッチングプログラムを作成するときにループで・KEY1とKEY2が等しい間の処理を行い、等しく無くなったら次へ・KEY1がKEY2より小さい間の処理を行い、小さく無くなったら次へ・KEY1がKEY2より大きい間の処理を行い、大きく無くなったら先頭に戻るで処理するパターンです。フローチャートは縦長です。フローチャート以下のフローチャートは同じものです。前者をスマホで閲覧すると鮮明ですが、パソコンでは文字が小さくなってしまうため後者を作成しました。マッチング処理を理解できました!」でしょうか。COBOLにてIF文型で標準化されておられる組織・担当の方、今からでもUNTIL型にすることを検討し変更されてはいかがでしょうか。構造化できてIF文型よりは見やすく、新人の方にも説明しやすく分かりやすいと思います。説明するときの注意点は「UNTIL条件を満たしていれば、1回も処理されない」でしょうか。AFTER]をつけない限りにおいては。PL/SQLでマッチング処理を作成しました。PL/SQLで同じ処理を作成してみました。入出力データはEXCELシートで説明していますが、オラクル上にロードしたデータをSqlDeveloperで実...jibun-kaizen.com-0001.11.30参考にして頂ければと思います。コメントをキャンセルメールアドレスが公開されることはありません。※コメントは日本語で入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。ホームパソコンプログラミングスポンサーリンクプロフィールはじめまして、健史(たけふみ)と申します。このブログにお越し頂き、ありがとうございます。私は若いころから不摂生な生活を送ってきたために、いろいろな病気や慢性痛になりました。(3)人気記事マクロ''を実行できません。自分で改善.メニューホーム記事一覧プロフィールお問い合わせホーム検索トップサイドバ。