1. はじめに
薬局の在庫管理において、在庫の保管場所や配置を定期的に見直すことは、効率的な業務運営に欠かせません。
特に、長期間動きのない「不動在庫」が増えると、貴重な棚スペースが無駄になります。
本記事では、Google Apps Script(GAS)を活用して、「90日以上不動の薬品を自動的に抽出するツール」の作成手順を解説します。
このツールを使えば、不要な在庫をすぐに把握し、保管場所の最適化が可能になります。
2. ツールの概要と仕組み
このツールでは、Googleスプレッドシートを活用して、薬品の使用状況を管理します。
表示されるデータは以下の通りです。
- 薬品名:医薬品の名前
- 棚番:保管棚の番号
- 不動期間:最終使用日からの経過日数
さらに、「不動期間が90日以上の薬品」を新しいシートに自動抽出するGASスクリプトを実装します。これにより、不動在庫の管理が容易になり、在庫の見直しがスムーズに行えます。
3. 必要な準備
- 在庫データの準備
- スプレッドシートを用意し、以下の項目を含む表を作成します。
- A列:薬品名
- B列:棚番
- C列:不動期間(最終使用日からの経過日数)
これで準備は完了です。
4. GASスクリプトの作成手順
- GASのスクリプトエディタを開く
- スプレッドシートを開き、
拡張機能
→Apps Script
を選択します。
- スクリプトを記述する
- 以下のコードをコピーペーストしてください。
function extractInactiveStock() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('在庫一覧'); // 元のシート名
const newSheetName = '不動在庫'; // 抽出結果を表示するシート名
// 既存の「不動在庫」シートを削除し、新規作成
const existingSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(newSheetName);
if (existingSheet) {
SpreadsheetApp.getActiveSpreadsheet().deleteSheet(existingSheet);
}
const newSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet(newSheetName);
// 元データの範囲を取得
const range = sheet.getDataRange();
const data = range.getValues();
// ヘッダー行を新しいシートにコピー
newSheet.appendRow(data[0]);
// 90日以上不動のデータを抽出
for (let i = 1; i < data.length; i++) {
const period = data[i][2]; // C列(不動期間)の値
if (typeof period === 'number' && period >= 90) {
newSheet.appendRow(data[i]);
}
}
}
- スクリプトを保存して実行
- スクリプトエディタの左上にある「保存」アイコンをクリックし、プロジェクトに名前を付けます(例:「不動在庫抽出ツール」)。
- 「三角ボタン」をクリックして、
extractInactiveStock
関数を実行します。 - 実行には初回時にGoogleの認証が必要です。「このアプリは確認されていません」と表示される場合は、「詳細」→「前に進む」をクリックしてください。
5. ツールの使い方
- 在庫データを更新する
- 「在庫一覧」シートに薬品名、棚番、不動期間を入力します。
- スクリプトを実行する
- スプレッドシート上部のメニューから、
拡張機能
→Apps Script
を選択し、extractInactiveStock
関数を実行します。
- 不動在庫の確認
- 自動的に新しい「不動在庫」シートが作成され、不動期間が90日以上の薬品が抽出されます。
- 定期的な運用の仕組化
- 定期的に手動でスクリプトを実行するのも良いですが、自動化のためにトリガーを設定する方法もあります。
- GASの「トリガー」機能を使えば、毎月1回、自動でスクリプトが実行されるように設定可能です。
6. まとめ
今回紹介したGASツールを使えば、不動在庫を手間なく抽出でき、保管場所の見直しがスムーズに行えます。作業効率が向上し、スペースの有効活用が期待できます。
ポイントのおさらい
管理薬剤師の方々にとって、在庫の最適化は重要な課題です。
GASを使えば、煩雑な在庫管理が効率化されます。ぜひ、日々の業務に取り入れてみてください。