Excel。入力規則のリスト。2列表示で選択出来る方法。かなり強引ですが…
<入力規則のリスト・LEFT+FIND関数>
見積書や納品書など、VLOOKUP関数と入力規則のリストを組み合わせて使うと便利ですよね。
例えば、次の表。
A:B列の表は、見積り表のようなものだとして、D:E列が商品リストとします。
A列には、入力規則のリストが設定してあります。
データの入力規則をつかって、次のように設定してあります。
B列には、数式を設定しております。
=IFERROR(VLOOKUP(A2,$D$2:$E$6,2,FALSE),"")
VLOOKUP関数をつかうことで、商品リストである、D:E列から商品コードに該当する商品名を検索し表示しています。
このままで十分といえば十分なのですが、このぐらいの商品数ならば、商品コードとその商品名を覚えることもできますが、商品数が多くなったり、あるいは、商品コードがバーコードのように覚えられるボリュームでない場合、イチイチ確認したあとに、入力規則のリストで入力するわけですね。
だったら、コピー&ペーストしたほうが早い場合もでてしまいます。
そこで、入力規則のリストを2列表示することができないものか?と思うわけですね。
こんな感じです。
この方法をご紹介していきますが、かなり強引なので…ご了承のほど。
用意するものがあります、G列に、数式を使ってリストに表示したい列を作ります。
G2の数式は、
=CONCAT(E2,"…",F2)
CONCAT関数は、旧バージョンにはありませんので、CONCATENATE関数を使いましょう。
「&」をつかった結合でもOKです。
つづいて、A列とB列の間に、列を挿入します。追加した列幅は、狭くてOKです。
その挿入したB列に次のように、入力規則のリストを設定します。
C列に変わった、VLOOKUP関数の数式を確認修正します。
=IFERROR(VLOOKUP(A2,$E$2:$F$6,2,FALSE),"")
検索値が、A列になっていることを確認します。
そして、商品コードのA列に数式を設定します。]
入力規則のリストが設定されているようでしたら、消去しておきます。
A2には、次の数式を設定します。
=IFERROR(LEFT(B2,FIND("…",B2,1)-1),"")
何をしているのか説明します。
IFERROR関数は、B列が空白の場合エラーが表示されるので、その予防です。
LEFT関数は、左から指定された文字数を抽出します。
今回対象は入力規則のリストで入力したB列です。
何文字なのかが、FIND関数で算出しています。
FIND("…",B2,1)-1。
今回は、”…”が区切り文字になっています。
最初に登場する、”…”を見つけた文字数を算出したら、”…”の文字数が余計なので、その値から「-1」します。
これで動きを確認してみましょう。
入力規則のリストが2列分表示されているので、検索しやすくなっています。
リストの幅が狭い場合は、B列を広げるとリストの幅も広がります。
動くことは動くのですが、B列の文字が見えていては、カッコ悪すぎですね。
最後の処理となりますが、文字を見えないようにしていきます。
文字の色を「白」にするとかではありません。
表示形式のユーザー定義をつかって、文字を隠していきます。
B2:B6を範囲選択して、セルの書式設定ダイアログボックスを表示します。
ユーザー定義の種類に「;;;」(セミコロン×3)と設定します。
文字を見えなくすることができました。
かなり強引な方法ですが、入力規則のリストを2列表示にする方法でした。