MoChiwakiブログ

女性エンジニアがゆる~く書く備忘録ブログ 〜だいたいいつもつまづいている〜

今VBAをやっています。

VBAとはエクセルのマクロ機能を使ってJavaScriptのように動きをつけることが可能な機能です。

 

私は既存のそのエクセルファイル?に改修を行うことになりました。

といってもこの1週間だけでその後はまたJavaを触るわけですが。。

 

渡されたものは簡単に発注から見積までできるシステム

(エクセルだからシステムではないけど)

VBAの大体の行数は 2886行!

 

いやーどこで何をしているのかは未だに一部しかわかりません。

やりながらエクセル自体わかっていないことが多かったのでVBAではなく

今日はエクセルについて!

 

こんな式に出会いました。

VLOOKUP(INDEX(複数セル1,1,1),sheet1,5,FALSE)*VLOOKUP(INDEX(複数セル2,1,1),sheet2,2,FALSE)

これ知らなかった。

わかりやすくすると、

VLOOKUP(

 INDEX(複数セル1,

  1,

  1),

 sheet1,

 5,

FALSE)

*

VLOOKUP(

 INDEX(複数セル2,

  1,

  1

 ),

 sheet2,

 2,

 FALSE)

 

 

公式は

VLOOKUP(検索値,範囲, 列番号,検索方法の指定)【】で記述

INDEX(範囲,行番号,列番号) 〈〉で記述

つまり、

【範囲】Sheet1の【列番号】5列目の中から【期待値】〈範囲〉複数セル1の〈行番号〉1列目〈1行目〉の値と【検索方法の指定】完全に一致するもの

かける

【範囲】Sheet2の【列番号】2列目の中から【期待値】〈範囲〉複数セル2の〈行番号〉1列目〈1行目〉の値と【検索方法の指定】完全に一致するもの

です。

 

結論 ただの掛け算でした。