パソコン、特にソフトに詳しくない
と言う人は多いと思います
特にエクセルは完璧に扱える人はそうそういないでしょう
私も自信はありません
VBA(Visual Basic for Applications)と言うのがあって
プログラムを組んで色々実行させることができる機能まであるので
そこまでできるなら立派なプログラマーですしね
このVBAを利用した出退勤管理や品質、商品管理を
いろんなアルバイトとかで見かけました
それは置いておいて
今回は今回は何をしてきたかの備忘録としてちょっと書こうと思います
管理業務
管理業務をするときに項目の入力が手間だ
と言う話だったのですがこれを解決しにいきました
その日の作業をするときに「何をするか」を「手入力」すると
とても大変ですよね?
と言うことでそれをまとめました
事前準備
- Seet1(元データ)
- 作業内容
- 担当者など
- Seet2(反映シート)
こんな感じで元データと表示シートを準備します
Seet1にはリストにあるように作業内容を「A列(縦)」
そして担当者を「B列」、他にも必要があればC…Dと横に増やします
これを元データとして準備します
反映して表示するシートにこれを「ドロップダウンリスト」にして
入力の手間を省きます
「Vlookup関数」でやってもいいのですが
この関数は数字等を準備しておいてそれに対応するものを表示するので
ちょっと手間ですし、関数を消してしまうと使えない・・・
そこで考えたのが「入力規則とOfset関数」です!
Offset関数
関数について
OFFSET(基準, 行数, 列数, [高さ], [幅])
と言う関数で
基準のセル(A1とする)
行数:基準からどれだけ「下」か
(0だと同じ場所で「A1」1でひとつした「A2」)
列数:基準からどれだけ「右」か
(0だと同じ場所で「A1」1でひとつ右「B2」)
[高さ]指定した基準から行数を参照する「2」なら「2行分」
[幅]指定した基準から列数を参照する「2」なら「2列分」
と言うものです
実際扱うにはちょっとややこしいので
今回は使った関数式を説明しますね
実式!
リストを表示したいセルに
- 「データ」→「入力規則」
- 許可「リスト」
- 元の値「Offset関数」
の順番に作業します
解説
セルにドロップダウンリストを表示して
Sheet1の「A列」で入力されているデータを表示するようになっています
関数説明
=OFFSET(Sheet1!$A:$A,0,0,COUNTA(Sheet1!$A:$A),1)
Offsetの関数は先ほど説明した通りです
基準=Sheet1の「A列全て」
行数=この場合は一番上
列数=A列のみ
高さ=Caunta関数(入力済みセルの数)
幅=1(1列しかないので)
この関数の使い方は「入力規則」でしか使えないのですが
(セルに入れても#VALUE!が出る)
Sheet2の画像のように
Sheet1の「A列」に入力しているデータ数だけリストに表示するようにできています
ポイントはCaunta関数
この[高さ]の項目は指定するとその行数を範囲にしますが
Sheet1のA列は必要があれば増えていきます
なので整数で指定すると増加するたびに変更しないといけません
ですが入力は関数でもできます
なので入力されているセル数をカウントする
Caunta関数を「A:A」とすることで
[高さ]の数がA列に入力されている数となって
リストの数が増えても勝手に増えると言うわけですね
最後に
関数に関数を重ねる方法と
入力規則だけに使える関数式があるので
目から鱗の方法ですね
他にも色々な組み合わせがあるので
奥が深いですね〜
コメント