組込AIトピックス
 

-- Excelでアプリを作る5 --

今回は「データの入力規則」のリスト入力で商品番号を入力するとその商品に付随するデータを自動的に取得するように式を入力します。
これを実現するために商品番号データの構造を0000~9999までの連番+商品名といった構造に決めます。
この連続番号番目にその商品に付随するデータを入れておくことで、商品番号を選ぶと付随するデータが何番目にあるかが分かります。
これを実際の関数で実現するにはまず左4文字の数字を数値に変える必要があります。通常文字で書かれている数字は数値としては扱われないのでLEFT( )関数で左の4文字を取り出してVALUE( )関数で数字から数値に変換します。
なのでB13セルに商品番号が入ればVALUE(LEFT(B13,4))という関数で数値に変換できます。
これにより何番目のデータを取得すればいいかがわかるため、INDEX( )という関数を使って一定領域の指定番目のデータを選ぶことが出来ます。
なのでL13からM18に入っているデータのVALUE(LEFT(B13,4))番目のデータを取得すればいいので入力すべき式は以下のようになります。
INDEX関数の詳細は、INDEX(範囲,何番目、何列目)なので
=INDEX(L13:M18,VALUE(LEFT(B13,4)),1) が内容
=INDEX(L13:M18,VALUE(LEFT(B13,4)),2) が数量欄に入ります。
また、商品番号欄にデータがない場合は内容、数量欄は空白にしたいので、
=IF(B13="","",INDEX(L13:M18,VALUE(LEFT(B13,4)),1)) が内容
=IF(B13="","",INDEX(L13:M18,VALUE(LEFT(B13,4)),2)) が数量欄に入ります。 ここで注意するべきことは参照個所のB13はコピーしたときにはB列のコピーされた行番号に変わった値にってほしいのでそのままでいいのですが(このような参照を相対参照といいます。)
L13:M18はコピーされても変化してほしくないため絶対参照という方法を使います。
絶対参照は固定する行指定または列指定の前に$を付ければいいのでL$13:M$18という風に指定します。
では、以下にデータの入力規則の設定と式を入力しコピーする所までを動画で見てください。

ここでは、単価欄を連動していませんので同じように設定してみてください。
ここまでの書式

To Top Page