- 締切済み
Excel2007 一方にないものを関数のみでより
Excel2007です。 一方に含まれないレコードを関数のみで選り出す方法をお教えください。 デーダが二塊あるとします。 共通して含まれるレコードもあれば 片方にしかないものもある状態です。 共に1レコードは1行に納められています。 当然どちらの塊にも複数のレコードが含まれます レコードのオリジナル性を示すキーは 0~9,A~Jを用い、20通りを表し これを4つ用いて、20進数4桁で表されています。 仮に一方のリストをA、他方をB と、呼びます。 関数のみでAに含まれないBのレコードを一覧にするには どうすればできますか? 因に、両リスト共に キーは降順にはなっていませんし、 縦に並んでますし 文字列としてしまわれています。 私自身、 * Bをトランスポンド文(でしたっけ?)で列方向の羅列に変えて 総当たり性の真理値表的な比較をする式 * A,B共にキーを10進数に変換し Aをsmall文で降順にし match文、及びISNA文で Bの各々のキーを 同じものがAの中から見つかるものと #NAになるものとに 判別する と、いう2方法を試したのですが 前者はメモリー不足、 後者は INDEX文での配列値引き渡しがうまくいかず シフト+コントロール+エンターをしないといけなくなり 宜しくない状態です。 いいスマートな、目から鱗な方法はないでしょうか? ご教示をお願いします。
- みんなの回答 (10)
- 専門家の回答
みんなの回答
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
No.8 です。ごめんなさい、重複の「ない」データが欲しいんでしたね。「ある」ものを抽出してしまいました。修正は、簡単です。No.8 の各式で、COUNTIF 関数に続く「=」を「>」に書き換えていただけば、「ない」データになると思います。
- tsubuyuki
- ベストアンサー率45% (699/1545)
失礼しました。添付忘れです。 作った画像を消してしまったので、作り直しました。 ので「確認用の列」はここにはありません。 > 作業列破壊のリスク 申し訳ありませんが、どんな「作業列」がどのように「破壊されるのか」わかりません。 列やファイルを破壊するような式、あるいは方法は提示しておりません。 > やはり作業列は避けられない・・・・・・・・出来れば避けたい所 とおっしゃいますが、質問文中の > * Bをトランスポンド文(でしたっけ?)で列方向の羅列に変えて > * A,B共にキーを10進数に変換し・・・以降 これらは「作業列」あるいは「作業ファイル」と言う考え方と何が違うのでしょうか。
お礼
>トランス…は作業列を使わず 同一方向に配されたセル列またはセル行を、 配列数式ないで総当たり比較する為に用意されたものだ と、認識してます。 空いた別のセルを自由に使えるなら トランスポンド文(?)を使い得る機会など得る訳がないですから。 つまり、わざわざマイクロソフトは 配列数式専用関数を用意した つまりそれだけ配列数式の将来を評価している と、推察できます。 エクセルではセル間、および配列数式間のデータ間は並列化されています。 この効果は凄まじく 「大半が無駄」 的な処理をしてもVBAの何倍も早いくらいに おっと、脇話ですね。 ところでソフトとは何でしょう? 使用される方を従える皇帝、的な そんな傲慢でいい存在でしょうか? そんな訳ありませんよね ただのツールですよね 別の話 私は、出来れば人と人は信頼と信用のみで繋がりたい そう思ってます。 踏まえて、感じてください 使用する方が、セル規制を見て 「これって俺がミスすると思われている?」 「要らんとこ書き換える と、思われてる?」 と、勘ぐらせるのって 「信頼を感じる」の真逆じゃないですか? 私自身 セルを規制しない そんなことはありません が、ただのツール そこらに転がってるペン程度のものが 使用する方の作業満足度を下げていいのでしょうか? ましてや、 使用者のアイディンティテーに触れかねない事柄、「信頼関係度合い」に触れていいのでしょうか? 人は写し鏡 ならば、使用する方を あからさまに信用しない想定を示すアプリ その製作者を信じろ と、言えるのですか? 実際には セル保護を受けず、表示を隠蔽されたセルは 貼り付け位置のずれ 不用意な書き換え などのミスにより 簡単に壊されます。 しかしだからといって 保護すれば、別の問題をはらむ と、考えていることは ご理解頂けたかと思います。 全く手が届く訳もないとても離れたセルに配置する手もあるかも知れませんが エクセルが「チェックすべき範囲の認識」を 悪戯にに拡大させ、処理を鈍重にしかねません。 と、言うこともあり 他にも理由があるのですが 作業セルは極力使用を控えてます。 ご理解を得られれば幸いです。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
>作業列破壊のリスクを考えれば、出来れば避けたい所なのですが このリスクというお話も、どんな趣旨でおっしゃっているのか、今一つピンと来ていないのですが…。 消失のリスクを減らしたければ、例えば、データ入力する箇所以外の全てのセルに保護をかけてしまえば、悪意をもって消そうとしない限り、簡単には消えにくくなりますね。読み取り専用の設定とかも、作業列だけでなくファイル全体に対してですが、私は頻繁に使っていますよ。 配列なり長い数式を使っても、そのセルを「あっ」と言って消してしまったり、初級者がファイルを操作して変な内容に改変してしまうといったリスクは、常にあるわけですね。だからこの点では、作業列を使おうと使わなかろうと、大差ないのではないかと。また、複雑な数式なだけに、メンテとかも苦労します。一方、作業列を使えば、一つひとつの数式が簡単で済みます。 Excel は表計算、Access はデータベースを扱うソフト。ですから Excel というのは、作業列を使うことが前提のソフトと言っても言い過ぎではないと思っています。 ちょっと難しい作業では、マクロという手段もあり。ワークシート関数だけで複雑な数式・システムを構築するというのはいろいろ困難を伴うし、データ量が多いのであれば尚更ですね。質問文にもあるように、メモリ的にも厳しくなりがち。 >1つのやり方として Aの群、Bの群の、共にあるものを探がす(仮にZ群と呼ぶ) ↓ Bの群の中で、Z群に含まれるものを探す(結果「X」と仮に呼ぶ) ↓ Bの群について、結果「X」の反対の群の配列データを作る ↓ ROW分と、INDEX文なりSMALL文なりの組み合わせで1セルに付き1つずつ表示させる… と、話にすれは簡単なのですが、「云う」と「成す」との隔たりはとてつもないですね。 別にできないということはないですよ。むしろ、おっしゃっている数式を尋ねるご質問は、こういう QA サイトでは頻繁に寄せられるものです。例えば添付図では、次式を入力しています。多分 No.7さんと似たような感じのものでしょう。 E1 =offset(B$1,small(index(row(B$1:B$10)+(countif(A$1:A$10,B$1:B$10)=0)*9^9,),d1)-1,0) 何度も言うようですが、データ数が多いと配列は厳しいです。 なおエラーを表示したくないという場合は、IFERROR 関数を組み合わせてください。 E1 =iferror(offset(B$1,small(index(row(B$1:B$10)+(countif(A$1:A$10,B$1:B$10)=0)*9^9,),d1)-1,0),"-")
お礼
SMALL文に対する9^9は、初めて使う言葉ですか 所謂「弾き上げ」ですか? 実はこれ、僕の発案なんですよ 同時多発的かもしれませんが… 時僕しかこれを書き込まなかった と、記憶してます。 間違いかな? でもこれ、僕が書くよりすごくシンプルで驚きました 洗練されてますね、 お例に蛇足を 出来ればCOUNTIF文は使わない方がいいですよ 以前… と、いっても割りと最近なのですが 信憑性を確認するため、この構文を検証したことがあるのです。 が、 結果としては「希に不適合」=「信頼できない」でした ○イクロ●フトさんではあって当たり前の 「仕様」というバグですね、 INDEX文も動作不安定なことをよく見ます。 ですので私の書いたものには COUNTIF文は「全く」と、いっていいほど出てきません、 また INDEX文は配列数式データの 関数間受け渡し時の問題が解消されていない以上 仕方なしに使っていますが OFFSET文やINDIRECT文で済むところに使うことは皆無です。 既にシートとしてメモリー上にありそうなものを 更にINDEX文で読み込ませると 「重複」 メモリー使用量の肥大化はHDDアクセスを生みかねず ひいては演算の致命的な鈍化に繋がりますよ HDDとメモリーの速度差は凄まじいですからね 以上、お礼までに… お役にたてれば幸いです。 ともあれ、今回はなんとが関数で選ばせられました。 ありがとうございます。
- tsubuyuki
- ベストアンサー率45% (699/1545)
件数(行数)が増えるとカナリカクカクするのでオススメしたくはないですが、 以下のやり方で「関数のみで」外部リストに書き出す(表示する)ことは可能です。 潰れて見づらいでしょうが、図を確認ください。 (誤字がありますが、気になさらないでください) A列:非重複を抽出したいキーの羅列=>ここから抽出します (リストAのキーと想定してください) E列:比較したいキーの羅列=>ここに「無い」ものを抽出します。 この2列を比較し、「A列に有り、E列に無い」ものをH列にリストアップします。 B列は作業列として、「A列に有り、E列にも有る」場合は空白を、 「A列に有り、E列に無い」場合は行数を返すように、以下の式 A2セル:=IF(COUNTIF(Sheet1!$E:$E,A2)=0,ROW(),"") と入力し、以下はフィルしています(図ではA21まで)。 問題のH列は、以下の通り H2セル:=IF(COUNT(B:B)<ROW(A1),"",INDEX(A:A,SMALL(B:B,ROW(A1)))) と入力し、必要分だけフィルしてあります。 最大で元データ(A列)の行数まで、最小は私にはわかりませんので割愛。 式から読み取っていただけると思いますので、説明も割愛します。 確認のため、A列には「E列に無いモノは赤」と条件付き書式で設定しています。 C・F列は、コレも私が確認のために使ったCOUNTIF関数です。 コレらは無くても大丈夫です。 ご覧の通り、ソートされていなくても文字列であっても、作業列を作れば問題なく使えます。 リストA内・リストB内、内部に重複がある場合も、上記条件で抽出します。 (「Aに2回有り、Bに無い」なら、Aから2行抽出します。) あと(H列以降)は、VLOOKUPだったりINDEXだったりMATCHだったりOFFSETだったり、 お好きな関数で拡張していってくださいませ。 注釈も入れておきましたが、件数(行数)が多いと更新がある度にカクカクします。 ですので、20進数4桁(重複無し・全て使用するとして最大160000行)に 対応させるには多少の難があるかもしれません。 その前に、おっしゃる「スマートな」方法かどうかも、私には判断が付きません。 > エクセルで十分作業可能と認識している上司に > 乗せ替えのため > 全関連従業員のアクセス習得強要と > アクセスの導入に資本投下するように進言するのですか? と補足質問をいただきましたが、 > 因に私は既に使えます。 とのことですが、アクセスの便利さをご存知なら、なおさら考えるべき話ですね。 使える人間が仕組みを作って、それを「無料の」実行ファイルに落として配布するなら、 初期投資はそれほどかからないはず(当初は開発するクライアントのライセンスのみ)ですし、 全従業員がアクセスを習得する必要は一切ありません。 例えば、 その他の言語、CでもVBでもCOBOLでも、PHPでもHTMLでも良いでしょう。 これらを使って開発された社内システムを社員に使わせるのに、 これら開発言語を習得させる必要はありますか? 少なくとも、我が社でメインで使っているシステムを開発した言語を熟知したうえで このシステムを使用している事務員は皆無ですが、それでも円滑に回っています。 ・システムを起動★ ・メニューのこのボタンを押す★ ・(仕組みはわからないけど)処理が進む ・答えが出る ・確認する★ ユーザーが行うのは★の処理だけです。 事務員に処理内容や答えの出し方まで教える必要は全くありません。 これはアクセスを例に採っても同じことです。 さらに言うなら、それを開発して、その後の作業が省力化されるなら、 その初期投資は決して高いものではないはずです。 (もちろん、費用対効果や懐具合は会社それぞれ違いますから、 ここは強く言えないところではありますが。) それでも省力化を目指した、いわゆる業務改善なのであれば、 「進言」されてやっかむ上司も少ないでしょう。 「アクセスを導入し、開発・使用することによって、これだけの効果がある」 そう提案するのは「スマートな仕事」と言えませんか? どちらにしても、5番さんもおっしゃる通り、正解と言う手段はありませんし、 この処理の「スマートなやり方」に関する考え方が双方で隔絶しているようですので、 私からのコメントはこれで終了します。 大変、失礼いたしました。
お礼
有り難うございます、 やはり作業列は避けられないのでしょうかね… 作業列破壊のリスクを考えれば、出来れば避けたい所なのですが これ以外にないとなれば止む無しですね、 1つのやり方として Aの群、Bの群の、共にあるものを探がす(仮にZ群と呼ぶ) ↓ Bの群の中で、Z群に含まれるものを探す(結果「X」と仮に呼ぶ) ↓ Bの群について、結果「X」の反対の群の配列データを作る ↓ ROW分と、INDEX文なりSMALL文なりの組み合わせで 1セルに付き1つずつ表示させる … と、話にすれは簡単なのですが、 「云う」と「成す」との隔たりはとてつもないですね。
補足
p.s. こちらの環境由来なのだと思うのですが PCよりの閲覧も含め、ご提示頂いた映像の所在が未だ掴めません 折角お示し頂いたのに 残念でなりません
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
No.5さん、補足など、ありがとうございました。 まあどれが正しいだとか言うことも特にないのですが、質問者さんのおっしゃる「ヒューマンループルーチンとして……1つ1つ確実に確認する」という趣旨でこの仕事に取り組もうと考えたときに、あまり難しいことをしようとすると、むしろエラーが増えるのではないかな?という感じも個人的にはします。なので、まだちょっとお気持ちを計りかねているというのが正直なところなのですが…。 とはいえ質問者さんがなさりたい手法について詳しく聞いてみたいということでしたら、今回は数式とかワークシートの構造とかが具体的に書かれていなかったので、このご質問はいったん閉じて、別途、詳しく情報が示しながらご質問を投稿してみてください。具体的であれば、どなたかが回答してくださるでしょう。
お礼
ありがとうございます。
- tsubuyuki
- ベストアンサー率45% (699/1545)
補足を読ませていただき、質問文を読み返してみましたが、 やはりどうにも腑に落ちない私がいます。 1番さん(4番さん)が提示されている内容を客観的にみると、 質問と照らし合わせてかなり合理的な手法であり、 エクセルで実現しようと思ったら必要にして十分、 この上ない意見であると思います。 少なくとも、メモリ不足も出ないでしょうし、 Shift+Ctrl+Enterなどの煩わしい操作も必要ありません。 これ以上の何を求めていらっしゃるのでしょう? さらに言わせていただけるなら、 これより多くを求めて、操作する人間はついてこれるのでしょうか? 盲目的に「これをこうする」と覚えられる操作なら大丈夫でしょうが、 配列が云々、トランスポーズが云々を採用したとして 仮に担当が変わった時にうまく引継ぎが出来るのでしょうか? 一人が不完全に理解しておけば良いと言うものではありません。 背伸びして無理な操作を不完全に理解し、 一時的に効率が良くなれば良い物ではありませんよね。 このあたりの効率を考えるのもいわゆる「仕事」なのではないでしょうか。 誰がやっても同品質の答えが出てくるのが「仕事」だとは思いませんか。 そこに茂木氏の思想も、あなたの仕事観も何も関係無いと思いますよ。 さてさて、ご提示の件。 ちょっとだけ考えましたが、エクセルで「誰がやっても同品質」を考えると、 やはり基礎的な関数であるCOUNTIFやLOOKUP系の関数がベストではないかと思います。 作業列を作り、フィルタをかける1番さんのやり方がベスト。 作業列を作りたくないなら、条件付き書式に色フィルタ。 と、提示させていただいた通りです。 もう一つ、アクセスに持って行って比較する方法を提示しておきます。 アクセスはデータベースソフトですから、 二つの表の統合や比較・まとめに多大なる力を発揮します。 不一致クエリと言う機能があり、あるレコードのキー項目(フィールド)が 別の表中のレコードに含まれているかどうかを比較し、 一致しないデータだけを一覧に出す、おそらく今回の「理想」に近い処理が出来ます。 あなたがおっしゃる > 完璧にこなせるツールや > 完璧にこなせたパートの記録 > これらを寄せ集め、一本化し > さらに幾度か試験をして > 信頼せいを担保できたものを用いてのみ > データを作り > なお、さらに > ヒューマンループルーチンとして > 全件全項、想定外が見られないかを含み > 1つ1つ確実に確認する > > それが仕事だ 、と 個人的に感じています。 これらを全て(エクセルブックのインポートから比較、結果排出まで)を自動化し、 一連の動作を順に行う仕組みを作ることも出来ます。 「ボタン一つで」この動作を行う仕組みを一度作ってしまえば、 エクセルのブックを準備する以外で人の手が関与するのは「ボタン一つ」ですから、 誰がやっても同じ品質の結果を排出してくれます。 補足を確認し、答えるのもスマートではないので、 予測される補足に先んじて、一言だけ加えておきます。 個人的に思うのは この手のデータベース比較を、エクセルにやらせようと言うのが無理があるのです。 エクセルは表計算ソフトであり、DBとして使える少々の機能はありますが、 複雑な処理を行おうと思うとその作り方や考え方も不要に複雑になりがちです。 それであれば、DBの専門家であるアクセスに任せるのは当然の選択と言えます。 その方が効果的であり、後のことを考えても効率良く仕事が回っていきます。 いわゆる「適材適所」な考え方です。 現状であなたがアクセスを使えない・持っていない、と言うのは問題になりません。 出来ないなら勉強するのも立派な「仕事」です。
お礼
ご推察の通り、データセット後ワンボタンで 知的構築をサポートするデータ作成を 一切の後操作なく自動生成する そんなフォームの作成をエクセル上で目指しています。 確かにアクセスへ乗せ変え、クエリでレポートを出させれば 最適だと思いますが エクセルで十分作業可能と認識している上司に 乗せ替えのため 全関連従業員のアクセス習得強要と アクセスの導入に資本投下するように進言するのですか? 因に私は既に使えます。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
補足を読んだのですが、No.1 の方法が質問者さんのなさりたいことに沿っていない理由が、今のところよく分かりません。 とりあえず、質問文にある「関数のみでAに含まれないBのレコードを一覧にする」ことは、No.1 でできています。要するに、No.1 の添付図の状態から、フィルタのボタンで「0」のレコードのみに絞り込むだけのことです。絞り込んだ状態の表をコピーして他のシートとかどっかに貼り付けておくなどは、ご自由に。 >作業する人の発見力や発想力、記憶などに頼り毎回過不足なく実行することを求められる作業を…… Alt+↓というショートカットキーを使うと、一度入力したデータが候補として出るので、入力ミスの防止に一役買うと思います。よかったらお試しください。No.1 の添付図で言うと、例えば A7 セルにカーソルを置いているときにこのショートカットキーを押すと、Merry Christmas やら Santa Claus やらが入力候補として出るので、Enter するだけです。 より厳しく入力データの内容を限定したい場合は、「入力規則」という機能の中に「リスト」というものもあります。これが設定されたセルには、指定の値しか入力できないようになります。 >* Bをトランスポンド文(でしたっけ?)で列方向の羅列に変えて総当たり性の真理値表的な比較をする式 お試しになったならお分かりかと思いますが、TRANSPOSE 関数は転置行列を配列の形で作る関数。算数で習う tA (t は上付き文字)ってやつです。 ですが、転置行列を求めている数式を残しておきたい場合はこういう関数を使ってみるのもいいですが、通常、行列を入れ替えることだけが目的であれば、Excel ではこの関数は使いません。表(あるいはベクトル)をコピーして他の場所などに「形式を選択して貼り付け」する際に、「行列を入れ替える」をチェックして OK するだけでできます。 真理値表的な…というのはリーグ表のようなものをイメージしたのですが、そうだとすると、リーグ表の中で有無を算出し、その合計を求めるといったことですね。そうして求めた不一致の個数は、No.1 のフィルタで「0」のみに絞り込んだ際の行数と一致するはずですね。 >*…small文で降順にし…ISNA文で… 並べ替えはリボンあるいはメニューバーにそういう機能、ボタンがあります。また、No.1 のフィルタのボタンによっても、並べ替えはできます。さらに、エラー値「#N/A」の代わりに、No.1 では「0」という数値が表示されるだけのことです。 >いいスマートな、目から鱗な方法はないでしょうか? 鱗もんかどうかは分かりませんが、多分 No.1 の方法がいちばんラクです。数式の長さも短く、最も基本的な Excel 関数の一つです。 あとはマクロですが、一般機能が十分に使えないうちは、マクロのコードもスラスラ書けるとは思えません。それに一般機能でもラクにできる作業なのであれば、マクロで行ってもさほどの効率化は期待できません。
お礼
ご説明が足りなかったようで申し訳ありません。 この自動化を目指すシートはデータ納稿(?)までに 複数日の連面とした作業を要するものなのです 全て手作業で操作すれば それなりの操作量、タッチ回数になります そのすべての操作においてオプション設定などに至るまで 言うまでもなく完璧な操作が当たり前です。 でなければデータの信憑性は地に落ち データそのものが、不確定性の権化 ゴミでしかなくなります。 一方脳科学者のもぎ氏は 「脳は元々間違えるようにできている」 と、伸べられるようですね このご意見は、私などと言う愚慢なものを救います。 他の方にとってはどうなのか解りませんが この現実は私にとって予期せぬことのオンパレードです。 勿論その多数を私自身のミスとの遭遇が占めますが… 一方で、仕事とは 潜在的に含まれる不確定要素を極力排除、確定し 上司への不確定要素の集積を最小限にとどめる そうできる成果物を成果とするものだと思ってます。 これらの点は矛盾するように感じます。 不確定要素の権化といって過言でなさそうな「ミス」を 「して当たり前」と、聞かされ また自覚してなお、 ヒューマンループ以外の行程をも 手作業手でして憚らないのは お世話になってる、大恩ある上司にたいして 「誠実」などと 私のみは到底思えません。 完璧にこなせるツールや 完璧にこなせたパートの記録 これらを寄せ集め、一本化し さらに幾度か試験をして 信頼せいを担保できたものを用いてのみ データを作り なお、さらに ヒューマンループルーチンとして 全件全項、想定外が見られないかを含み 1つ1つ確実に確認する それが仕事だ 、と 個人的に感じています。 だからこそ任せて頂ける そう考えます。 私のエゴでしかないとは思いますが… で、 ご提示いただいた内容は 今お話しした私のエゴに照らすと 少し方向性が違うように思えます。 大変小労力でスマートなやり方だと思いますが 今回はご容赦ください
添付図参照 C2: =IF((COUNTIF(B$2:B2,B2)=1)*(COUNTIF(A:A,B2)=0),ROW(),"") E2: =IF(ISERROR(SMALL(C:C,ROW(A1))),"",INDEX(B:B,SMALL(C:C,ROW(A1))))
お礼
ご来訪有り難うございます。 我が儘な言いようだと思いますが 作業セルは使わない方向でお願いします。 作業時に作業セルの意味が理解できない場合 無自覚に「不要」と判断し、軽視して壊す または全くの無認識のうちに操作の中で壊す などといったことが予想されます。 すでに問題を知覚できている以上 違う方向性を望みたくなります。 ご容赦ください。
- tsubuyuki
- ベストアンサー率45% (699/1545)
同様に、今一全容を掴めないのですが・・・ 単純にキー項目の照合で良くて、作業列を作りたくないなら、 条件付書式で塗りつぶし+(2007なら)色フィルタ で絞り、 他シートにコピーが手っ取り早い気がします。 書式の条件を式にしてCOUNTIF関数で0件のモノに色づけ、 これを色フィルタで絞って、Shift+Ctrl+*で全選択、コピー。 新規シートに値を貼り付け(もちろん普通に貼り付けでも)してやればよろしいかと。
お礼
ご来訪ありがとうございます。 今回は 毎回の作業の中で、セミオート化することにより 手作業を極力排除し、ミスを軽減 データの信頼性を担保することを目指しています。 従って、 ご提示頂いた内容は 少し方向性が違うように思います。 ご容赦ください。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
どこまでのことをなさりたいのか確信が持てない状態ですが。単に有無が表示されさえすればいいのでしたら、COUNTIF 関数。「*」は「ワイルドカード」です。 C2 =countif(A$2:A$6,b2) …… B2 に等しい文字列の個数 E2 =countif(A$2:A$6,"*"&d2&"*") …… D2 の文字列を含む文字列の個数
お礼
ご来訪ありがとうございます。 今回は 作業する人の発見力や発想力、記憶などに頼り 毎回過不足なく実行することを求められる作業を セミオート化により作業分担を分離、軽減し、 手作業が呼び寄せる「ミス」を減らすこと、 データの信頼性を担保することを目指しています。 ですので 少し方向性か違うように思います。 ご容赦ください。
お礼
ありがとうございます。 実は実際にはキーが複数ある構造で その組み合わせによって特定される構造なので 混乱してた感があったのですが お陰で光明にたどり着けそうな気がしてきました。