農林水産DXセミナー2025(1)

2025年10月16日(木)に開催したセミナーの資料です。以下の構成で説明します。

  1. 全体の説明
  2. 講習会で作る内容
  3. Googleフォーム・作り方
  4. Googleフォーム・使えるように公開する
  5. Googleフォーム・QRコード読取りで使う
  6. Googleスプレッドシート・使い方
  7. Googleスプレッドシート・1つにまとめる

1.全体の説明

(1)目標

園地で行う肥料の散布量、病害虫の報告をスマホから入力します。 入力した作業はカレンダーに転記することで、カレンダーを見れば作業が分かる仕組みを作ります。 複数の人が作業しても入力できるようにします。

(2)利用するツール

  • GoogleChrome(Chrome): Googleが提供するブラウザ
  • Googleドライブ(ドライブ): ファイル置き場
  • Googleフォーム(フォーム): ノーコードで情報や写真を登録できるツール
  • Googleスプレッドシート(スプレッド): エクセルのようなツール
  • Googleカレンダー(カレンダ): 情報を登録できるカレンダー
  • GoogleAppsScript(GAS): スプレッドシートで利用できる開発言語

上記の括弧内の表示を略称として利用します。

(3)予定する使い方

ア 園地での作業

  1. 園地で作業を行います。
  2. 作業別に用意してあるQRコードをスマホで読み取ります。
  3. 入力画面が表示されるので、作業を記入して保存します。

上記の作業を繰り返します。

イ 事務所での作業

  1. スプレッドを開き「実行」をクリックする。

これで新しく追加された作業がカレンダに転記されます。

2.講習会で作る内容

作業は4種類あるとして、4つの入力画面(フォーム)を用意します。 入力画面から登録された作業内容は、スプレッドに一覧で登録されます。 スプレッドも4つに分かれますが、1つのスプレッドにまとめカレンダに転記します。 入力画面で登録する項目は以下とします。

(1)1つ目(農薬散布、施肥)

  1. 園地: 登録してある園地名から選択します。
  2. 作業日: 入力します。
  3. 農薬肥料名: 入力します。
  4. 使用量: 入力します。
  5. 散布量: 入力します。
  6. 倍率: 入力します。
  7. 樹: 入力します。
  8. メモ: 入力します。
  9. 写真: 複数枚の写真をアップロードします。

(2)2つ目(着果、収穫量把握)

  1. 園地: 登録してある園地名から選択します。
  2. 作業日: 入力します。
  3. 作業: 袋掛け、収穫、出荷調整から選択します。
  4. 数量: 入力します。
  5. 樹: 登録してある樹から選択か、場所を入力します。
  6. メモ: 入力します。
  7. 写真: 複数枚の写真をアップロードします。

(3)3つ目(病害虫、気象被害)

  1. 園地: 登録してある園地名から選択します。
  2. 作業日: 入力します。
  3. 報告: 病気、害虫、生理障害、気象被害から選択
  4. 樹: 登録してある樹から選択か、場所を入力します。
  5. メモ: 入力します。
  6. 写真: 複数枚の写真をアップロードします。

(4)4つ目(その他)

  1. 園地: 登録してある園地名から選択します。
  2. 作業日: 入力します。
  3. 作業: 着花、着果、草刈り、枝、潅水、改植から選択します。
  4. 樹: 登録してある樹から選択か、場所を入力します。
  5. メモ: 入力します。
  6. 写真: 複数枚の写真をアップロードします。

上記は似た項目もあるので、できるだけ似た項目の位置を合わせて利用できる工夫を行います。

農薬散布着果病害虫その他
Aタイムスタンプタイムスタンプタイムスタンプタイムスタンプ
B1.園地1.園地1.園地1.園地
C2.作業日2.作業日2.作業日2.作業日
D3.農薬肥料名3.作業3.報告3.作業
E4.使用量4.数量
F5.散布量
G6.倍率
H7.樹5.樹4.樹4.樹
I8.メモ6.メモ5.メモ5.メモ
J9.写真7.写真6.写真6.写真

3.Googleフォーム・作り方

Chromeを使いGoogleにログインしてください。 フォームはドライブから作成するので、ドライブを起動します。

ドライブで「+新規」をクリックします。

「Googleフォーム」をクリックします。

新しいフォーム(無題のフォーム)ができます。

これから上記2で決めた作業別の項目を登録します。 1つ目の「農薬散布、施肥」のフォームを作ります。 タイトルを登録します。

最初の項目の「園地」を登録します。

右の「ラジオボタン」をクリックします。

プルダウンは登録済みの一覧から選択するときに使います。 もし先に決めることができないときは「記述式(短文)」を使います。 今回は園地を3つ用意します。

次の質問を登録するので、右側の「+」をクリックします。

農薬散布、施肥の作業は以下の項目を登録したいので順番に登録します。 以下に項目名と入力形式を表示します。 農薬肥料名など、あらかじめ決まっているときはプルダウンや、ラジオボタンの入力形式を使っても良いです。

  1. 園地: プルダウン
  2. 作業日: 日付
  3. 農薬肥料名: 記述式(短文)
  4. 使用量: 記述式(短文)
  5. 散布量: 記述式(短文)
  6. 倍率: 記述式(短文)
  7. 樹: 記述式(短文)
  8. メモ: 段落
  9. 写真: ファイルのアップロード

写真は「ファイルのアップロード」の入力形式を選びます。

警告が表示されます。 あなたのGoogleアカウントが管理するファイル置き場(写真のアップロード先)を共有することになるための確認になります。

「次へ進む」をクリックすると、写真をアップロードする質問ができます。 アップロードできる写真の初期値は1枚です。 複数枚の写真をアップロードしたいときは「ファイルの最大数」を変更してください。

ここまでで画面左上の表示が「無題のフォーム」のままであれば、書き換えてください。

これで予定した質問は登録できたので、1つ目のフォームは完成です。

同様の手順で、2つ目(着果、収穫量把握)、3つ目(病害虫、気象被害)、4つ目(その他)のフォームを作ります。 フォームを作るとドライブにフォームの名前でファイルが作られます。 「File responses」と言う名前の付いたフォルダは、アップロードされた写真の置き場です。

4.Googleフォーム・使えるように公開する

フォームは作りましたが、このままではフォームが公開されていないので利用できません。 公開の設定を行います。 「公開」をクリックします。

「公開」をクリックします。

公開の状態となったので、隣のマークをクリックします。

リンク(URL)が表示されるので「コピー」をクリックします。 コピーされたURLにブラウザでアクセスするとフォームの登録画面に移動します。 「URLを短縮」はチェックを入れてください。 

5.Googleフォーム・QRコード読取りで使う

URLは文字列なので、QRコードに加工して利用します。 スマホのカメラでQRコードを読み取り、フォームの画面に移動する使い方です。

ブラウザで「QRコード作成」と検索してください。 無料で使えるサービスが多くあります。

フォームを公開したときのURLを貼り付けます。

「作成する」をクリックすると、QRコードができます。 「ダウンロードする」をクリックして

ダウンロードフォルダにQRコードの画像ファイルができています。 ファイル名はダウンロードしたとき、右上に表示されます。

※スマホでQRコードを読み取る方法は、機種により違いがあるので、スマホのマニュアルをご覧下さい。

6.Googleスプレッドシート・使い方

フォームから入力された作業内容は、スプレッドに一覧で登録できます。 設定を行いましょう。 「回答」、「スプレッドシートにリンク」の順にクリックします。

スプレッドのファイルを新規作成するか、既存を使うか選択する画面です。 そのまま「作成」をクリックします。

「農薬散布、施肥(回答)」と言うファイル名のスプレッドが作成されます。

ドライブを確認すると、スプレッドが追加されています。

同様に残り3つのフォームも設定を行います。

7.Googleスプレッドシート・1つにまとめる

今回は4つのファイル(スプレッド)に分かれて、情報が登録されています。 これを1つのスプレッドにまとめます。 まとめの方法は、以下の通りです。

  • 4つのシートを作り、そこに4つのファイルを読み込み(リンク)します。
  • まとめシートを作り、4つのシートの情報を全てリンクします(カレンダ用)
  • 園地別のシート(今回は3つ)を作り、園地別の作業を確認できるようにします。

「+新規」をクリックします。

「Googleスプレッドシート」をクリックします。

「無題のスプレッドシート」をクリックします。

「まとめ」とします。

シートを4つ作り、シート名を変更します。 シート名は「農薬散布」「着果」「病害虫」「その他」です。 画面下「シート1」の▼をクリックすると、メニューが表示されます。 「名前を変更」でシート名を変更してください。 新しいシートは画面下の「+」をクリックします。

4つのシートができました。

4つのファイルに分かれている情報を、4つのシートに読み込み(リンク)します。 A1のセルに以下の関数を登録します。

JavaScript
={
IMPORTRANGE("https://docs.google.com/spreadsheets/d/*****/", "フォームの回答 1!A:J")
}

上記の関数で変更する部分は「*****」の部分です。 「https://docs.google.com/spreadsheets/d/」は共通で、直後に続く部分がファイルIDです。 ファイル名の指定と、シート名の指定と考えてください。 ファイルIDはスプレッドを表示したときのURLに含まれます。

シート名は「フォームの回答 1」です。 シート名の後ろの「A:J」は、A列からJ列までを読み込み(リンク)する、と言う意味です。 

URLの一部だけコピーするのは面倒なので、URLを全部コピーします。 フォーム名もコピーして貼り付けます。

以下の画面が表示されたときは「アクセスを許可」をクリックしてください。

正常に読み込み(リンク)できると、別ファイルの情報が表示されます。

残り「着果」「病害虫」「その他」のシートも設定しますが、各シートは項目数が違います。 4つのシートを1つにまとめたいので、項目数の違いを調整します。 「着果」のシートはFとGを空けて登録します。 「病害虫」と「その他」はEFGを空けて登録します。

農薬散布着果病害虫その他
Aタイムスタンプタイムスタンプタイムスタンプタイムスタンプ
B1.園地1.園地1.園地1.園地
C2.作業日2.作業日2.作業日2.作業日
D3.農薬肥料名3.作業3.報告3.作業
E4.使用量4.数量
F5.散布量
G6.倍率
H7.樹5.樹4.樹4.樹
I8.メモ6.メモ5.メモ5.メモ
J9.写真7.写真6.写真6.写真

「着果」のシートはAからEまで5項目と、そこから2つ空けて、残り3項目を読み込みます。 以下の式になるので「*****」を着果のファイルIDに書き換えてA1セルに登録してください。

JavaScript
={
QUERY(IMPORTRANGE("*****", "フォームの回答 1!A:H"), "SELECT Col1, Col2, Col3, Col4, Col5, ' ', '  ',  Col6, Col7, Col8", -1)
}

「病害虫」は3つ空けるので以下の関数になります。

JavaScript
={
QUERY(IMPORTRANGE("*****", "フォームの回答 1!A:H"), "SELECT Col1, Col2, Col3, Col4, ' ', '  ', '   ', Col5, Col6, Col7, Col8", -1)
}

「その他」も「病害虫」と同様に関数を登録してください。

これで4つのシートの項目位置を合わせて、読み込み(リンク)することができました。 まとめシートを作ります。 新しく「まとめ」シートを作ります。

A1セルに以下の式を登録します。 4つのシートでA列が登録されていれば、A列からH列を読み出す、と言う意味になります。 農薬散布以外の「A2:H」としているのは、1行目(タイトル)を読み出さないためです。

JavaScript
=QUERY({
'農薬散布'!A:H;
'着果'!A2:H;
'病害虫'!A2:H;
'その他'!A2:H
}, "SELECT * WHERE Col1 IS NOT NULL")

園地別の作業用シートも作ります。

以下の関数をA1セルに登録します。 最後の行が園地を指定しています。 B列(Col2)が「園地A」と同じものだけ表示する意味になります。

JavaScript
=QUERY({
'農薬散布'!A:H;
'着果'!A:H;
'病害虫'!A:H;
'その他'!A:H
}, "SELECT * WHERE Col2 = '園地A'")

同様に「園地B」「園地C」も作成できます。

以上で1日目の講習内容となります。

株式会社ルークシステムの代表です。 社会人になってからずーっと、コンピュータの技術者です。 年齢が上がるとプログラムが作れなくなる、と聞いていましたが、今も必要になれば、あれこれ作っています。 私はプログラムを作る(設計すること)が楽しいので、これからも作り続けたいと思っています。