Excel式:あるセルのユーザー入力値に基づいて、自動的に別のセルの値を設定します.

1414 ワード

このblogでは、Excelを使用して、あるセルのユーザーが値を入力することによって、別のセルの値を自動的に設定する方法について議論しています.
 
この需要の最初の動機はこうでした
従業員表を維持する必要があります.従業員には従業員が所属する部門名と、この部門のコードという情報があります.
従業員が所属する部門の名前については、データの有効性を使用してドロップダウン・リストで実現できます.
しかし、従業員部門のコードは、一つは記憶しにくいが、二つは互いによく似ていて、混同しやすい.
 
そのため、私たちは次のことを望んでいます.
ユーザが部門名を選択すると、excelで部門の符号化を自動的に補完することができる.
 
このような状況には、次のようなものがあります.
EXcelを使って図書の情報表を管理しています.この表には図書名とISBNがある可能性が高いです.
図書名のセルを編集するときにISBNを自動的に補完することを望んでいます.
 
同様のニーズに対してはvbaを使用して行うことができます.
ただし、excelにvbaが挿入すると、ユーザがexcelを開くと、セキュリティレベルの設定に応じてセキュリティプロンプトがポップアップする.
だからvbaと比較すると、私たちは公式に傾いています.
Sさんに感謝します:-)公式を通じて私たちは2つの方法があります.
(添付ファイルのexcelファイルには、この2つの方法の具体例があります)
 
方法1:INDEXとMATCH関数を利用する
書いた公式は次のような形で、method_1_configは、連動の対応関係を構成するための個別のsheetである.
 
=IF(($B3<>""),INDEX(method_1_config!$A:$B,MATCH($B3,method_1_config!$A:$A,0),2),"")
 
方法2:LOOKUP関数を利用する
書いた公式は次のような形で、method_2_configは、連動の対応関係を構成するための個別のsheetである.
 
=IF(($D3<>""),LOOKUP($D3,method_2_config!A:A,method_2_config!B:B),"")
 
 
注意する問題
私たちのテストでは、第2の方法LOOKUP関数は、中国語、日本などの全角文字をサポートせず、マッチングエラーがあることを発見しました.
詳細は添付ファイルを参照してください.
方法の1つは、これらの全角文字をサポートすることができます.
そこで私たちは最終的に方法を採用して実現しました.
また、添付ファイルでは、スペース、-、カッコの場合もテストしました.