一部では「最強のフロントエンドツール」なんていわれるくらいのExcelですので、
いろんなことができる事に改めて気づかされました。
今回は、その際に活用したExcelの実用例などを載せておきます。
●[E2]の値が変更対象シートに該当するデータであれば、"0"、
そうでない場合には台帳よりデータを取得して結果を表示する
(VLOOKUP)
=IF(E2="","",IF(ISNA(VLOOKUP(E2,変更対象シート!C$8:C$375,1,FALSE))=FALSE,"0",VLOOKUP(E2,台帳'!$B$13:$D$9587,3,FALSE)))
・VLOOKUP関数は、あいまい検索を許容しない事をお勧めします。
・この例では参照先の指定が絶対値ですが、きっちりやるならテーブル化をお勧めします。
●列数が異なる複数のシート間で、値参照を利用してデータを表示する
1つのデータが、複数行にまたがる。なんてことはあると思います。
システム観点では1データは1行である必要がある。
そんなときにもExcelではよきに計らってくれる方法があります。
詳しくまとめようとするとそれだけで1記事になってしまいそうなので
キーワードだけまとめ。
OFFSET , ROW()
この関数を使う事で、対処できます。
=OFFSET(参照先シートのデータ参照起点(絶対値),(ROW()-このシートの開始行位置)*このシートのデータ1行あたりのExcel行数,参照起点からの列移動数)
OFFSETを活用すると、複数行のデータを1行に纏める。ってことも関数だけで実現できます。
●データ参照の基本
=IF(A2="","",A2))
完璧な処置ではないですが、これを入れるか入れないかで参照の完成度が違います。
⇒入れないと、ゼロがセットされてしまう事が多いですね。
完璧ではない。といったのは、条件として=""としてますが、これが、
実体はEmptyだったりすること、実体Emptyだったとしたときに""をセットしてしまうこと。
この両方が対応できてないので「完璧ではない」
そこまで対応すると計算式が増え、ファイルサイズも増え、自動計算も遅くなり、と
色々でメリットも出てくるので、殆どのケースではこれでいいのではと思います。
●参照されるデータの基本
Excelでは、「数値」と「文字」は別物なので、見た目が一緒に見えるのに
VLOOKUPで比較しても一致しない事があります。
そんなとき活用するのがTRIM
=TRIM(A2)
とするだけで、文字認識されます。
まとまりきらないのでこのへんで。
まだ随時公開していきたいと思います。
まだ随時公開していきたいと思います。
0 件のコメント:
コメントを投稿