Googleフォームとスプレッドシートを連携させて、ファイル添付機能付きの「経費精算フォーム」を作成し、効率的に管理する方法をご紹介します。


目次

  1. 作成手順1. Googleフォームの作成

  2. 作成手順2. スプレッドシートとの連携

  3. 作成手順3. スプレッドシートの設定

  4. 作成手順4. フォームの共有と使用

  5. フォームの使用方法

  6. 注意点

  7. まとめ

 

作成手順1. Googleフォームの作成

  1. Google ドライブにアクセスし、新しいGoogleフォームを作成します。

  2. フォームのタイトルを「経費精算フォーム」とします。

  3. 以下のような項目を追加します:

    • 申請者(プルダウン)

    • 経費発生日(日付)

    • 経費カテゴリ(プルダウン)

    • 金額(短文回答、数値のみ)

    • 備考(段落)

    • 領収書(ファイルアップロード)

  4. ファイルアップロード設定:

    • 「領収書」項目で「ファイルアップロード」を選択します。

    • 最大ファイルサイズと許可するファイル形式を設定します(例:10MB、PDF/画像)。

 

画像
 

 

画像
 

 

作成手順2. スプレッドシートとの連携

  1. フォーム編集画面の「回答」タブを開きます。

  2. 「スプレッドシートにリンク」をクリックし、新しいスプレッドシートを作成するか既存のものを選択します。

 

画像
 

 

画像
 

 

作成手順3. スプレッドシートの設定

  1. 連携されたスプレッドシートを開きます。

  2. 必要に応じて列の幅を調整し、見やすくフォーマットします。

  3. 金額の列に通貨フォーマット等を適用します。

  4. 必要があれば合計金額を計算するセルを追加し、SUM関数を使用して合計を自動計算します。

 

画像
 

作成手順4. フォームの共有と使用

  1. フォームの「送信」ボタンをクリックし、URLを取得します。

  2. このURLを従業員に共有し、経費精算の際に使用してもらいます。

 

画像
 

 

フォームの使用方法

  1. 従業員は共有されたURLからフォームにアクセスします。

  2. 必要事項を入力し、領収書のファイルをアップロードします。

  3. 送信すると、データがスプレッドシートに自動的に反映されます。

  4. 管理者はスプレッドシートで経費データを確認し、必要に応じて処理を行います。

画像
 

 

画像
 
画像
 

 

注意点

  • ファイルアップロード機能を使用するには、フォーム作成者と回答者が同じ組織のGoogleアカウントを使用している必要があります。

  • アップロードされたファイルは、フォーム作成者のGoogle ドライブに保存されます。容量管理に注意しましょう。

  • 定期的にスプレッドシートのバックアップを取ることをお勧めします。

 

 

 

Googleドライブの動画をウェブページに埋め込む手順です。

目次

  1. 動画の準備

  2. 動画のプレビューを開く

  3. 新しいウィンドウで開く

  4. 権限を変更する

  5. 埋め込みコードを取得

  6. 埋め込みコードをウェブページに貼り付ける

  7. まとめ

動画の準備

まず、Googleドライブに埋め込みたい動画をアップロードしておきます。Googleドライブにアクセスし、埋め込みたい動画を探します。

 

画像
 

 

動画のプレビューを開く

動画を右クリックし、「アプリで開く」 > 「プレビュー」を選択します。

 

画像
 

新しいウィンドウで開く

プレビュー画面の右上にある3つのドットのメニュー(その他のオプション)をクリックし、「新しいウィンドウで開く」を選択します。

 

画像
 

 

画像
 

 

権限を変更する

動画の権限を「リンクを知っている全員」に変更します。

 

画像
 

これにより、一般のユーザーが見るWEBページに埋め込み・表示が可能になります。

※動画は誰でも閲覧できる状態になりますのでご注意ください。

埋め込みコードを取得

「・・・」から「アイテムを埋め込む」を選択します。

 

画像
 

 

 

※権限が無い場合は「オーナーと明示的に・・・」という注意文が表示されますので共有権限を設定します。

 

画像
 

埋め込みコードが表示されますので、コピーして任意の場所に埋め込むことができます。

画像
 

埋め込みコードをウェブページに貼り付ける

取得した埋め込みコードを、表示したいウェブページのHTMLソースに貼り付けます。

画像
 

これでGoogleドライブの動画がウェブページに埋め込まれ、訪問者がその場で動画を再生できるようになります。

 

 

 

 

 

Googleスプレッドシートでレーダーチャートを作成する手順を以下に具体的に説明します。ここでは、架空のデータを使ってレーダーチャートを作成する方法を示します。製品の評価データを例にします。

目次

  1. データの準備

  2. データ範囲の選択

  3. グラフの挿入

  4. グラフのタイプを設定

  5. グラフのカスタマイズ(必要に応じて)

  6. 完成

  7. 注意点

  8. まとめ

データの準備

Googleスプレッドシートを開きます。

以下のようなデータを入力します。

評価項目 製品A 製品B 製品C
品質 8 7 6
価格 6 8 7
デザイン 7 6 8
性能 9 7 6
使いやすさ 7 8 7

 

画像
 

 

 

データ範囲の選択

範囲を選択します。上記のデータ範囲(A1:D6)を選択します。

 

画像
 

グラフの挿入

メニューから「挿入」→「グラフ」を選択します。

 

画像
 

 

グラフのタイプを設定

グラフエディタが右側に表示されます。「グラフの種類」を「レーダーチャート」に変更します。

グラフの種類を選ぶ場所で 「レーダーチャート」を選択します。

 

画像
 

 

グラフのカスタマイズ(必要に応じて)

「カスタマイズ」タブで、色やタイトル、ラベルのフォントサイズなどの設定を行うことができます。

グラフのタイトルを設定します(例:「製品評価レーダーチャート」)。

 

画像
 

 

 

 

 

 

前回のつづきです。GoogleスプレッドシートのデータをJSON化してAPIでWEBページに取り込む方法です。

目次

  1. ウェブアプリとしてデプロイする(JSONデータを作成)

  2. JSONデータを取得してテーブルに表示する

  3. まとめ

ウェブアプリとしてデプロイする(JSONデータを作成)

前回、作成したGASのスクリプトをデプロイすると、ウェブアプリのURLが生成され、そのURLにアクセスすることでJSON形式のデータが取得できるようになりました。

 

画像
 

 

こちらを使用して、WEBページにデータを表示してます。

JSONデータを取得してテーブルに表示する

Google Apps ScriptのウェブアプリからJSONデータを取得し、テーブルに表示するには、Ajaxリクエストを使用してデータを取得し、それをテーブルに挿入する必要があります。

以下に、そのためのコードを示します。

xml<div class="container mt-5">
    <h1 class="text-center">車モデルの販売状況</h1>
    <table id="carTable" class="display table table-striped table-bordered">
        <thead>
            <tr>
                <th>販売状況</th>
                <th>モデル名</th>
                <th>エンジン排気量 (L)</th>
                <th>価格 (円)</th>
            </tr>
        </thead>
        <tbody>
            <!-- JSONデータから生成された行がここに挿入されます -->
        </tbody>
    </table>
    <script>
        $(document).ready(function() {
            const apiUrl = 'https://script.google.com/macros/s/XXXXXXXXXXX-XXXXXXX/exec';

            $.ajax({
                url: apiUrl,
                method: 'GET',
                dataType: 'json',
                success: function(jsonData) {
                    const tbody = $('#carTable tbody');
                    jsonData.forEach(item => {
                        const row = `<tr>
                            <td>${item["販売状況"]}</td>
                            <td>${item["モデル名"]}</td>
                            <td>${item["エンジン排気量 (L)"]}</td>
                            <td>${item["価格 (円)"]}</td>
                        </tr>`;
                        tbody.append(row);
                    });

                    $('#carTable').DataTable();
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    console.error('Error fetching data:', textStatus, errorThrown);
                    alert('データの取得中にエラーが発生しました。');
                }
            });
        });
    </script>
</div>


このコードでは以下のような処理が行われています。
  1. const apiUrl = '...'で、Google Apps ScriptのウェブアプリのURLを指定しています。

  2. $.ajax()を使用して、指定されたURLからJSONデータを非同期で取得します。

  3. success関数内で、取得したJSONデータを使用してテーブルの行を生成し、挿入しています。

  4. エラーハンドリングを追加し、データ取得に失敗した場合にコンソールにエラーを出力し、ユーザーにアラートを表示します。

  5. データが正常に取得され、テーブルに挿入された後にDataTable()を初期化しています。

注意:Cross-Origin Resource Sharing (CORS)の問題が発生する可能性があります。その場合、Google Apps ScriptのdoGet()関数内で適切なCORSヘッダーを設定する必要があります。

 

 

 

 

 

 

 

 

スクロールして要素が画面内に入ったときに、ふわっと表示されるアニメーションを実装する方法について説明します。このアニメーションは、ユーザーの視覚的な興味を引くために多くのウェブサイトで利用されています。以下に、基本的な実装方法を紹介します。

  1. HTMLの準備
  2. CSSの設定
  3. CSSプロパティの詳細
  4. アニメーションの流れ
  5. JavaScriptでスクロールイベントを設定
  6. JavaScriptコードの詳細
  7. まとめ

HTMLの準備

まず、アニメーションさせたい要素にクラスを追加します。このクラスは後でJavaScriptで操作します。

<div class="fade-in-element">コンテンツ</div>

CSSの設定

CSSで初期状態とアニメーション後のスタイルを定義します。

ここでは、要素を透明にしておき、アニメーションによって表示されるようにします。

.fade-in-element {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.fade-in-element.is-visible {
    opacity: 1;
    transform: translateY(0);
}

CSSプロパティの詳細

1. .fade-in-element クラス

  • opacity: 0;
    要素の不透明度を0に設定しています。これにより、要素は初期状態では完全に透明になります。
  • transform: translateY(20px);
    要素を垂直方向に20ピクセル下に移動させています。これにより、要素は初期状態で少し下にずれた位置から始まります。
  • transition: opacity 0.5s ease-out, transform 0.5s ease-out;
    トランジション(変化)の設定です。
    • opacity 0.5s ease-out: 不透明度が変化する際のトランジションを設定しています。0.5秒かけて変化し、終了時にゆっくりと止まる(ease-out)アニメーションになります。
    • transform 0.5s ease-out: transformプロパティが変化する際のトランジションを設定しています。こちらも同様に0.5秒かけて変化し、終了時にゆっくりと止まります。

2. .fade-in-element.is-visible クラス

このクラスはJavaScriptで要素が画面内に入ったときに追加されます。

  • opacity: 1;
    要素の不透明度を1に設定しています。これにより、要素は完全に表示されます。
  • transform: translateY(0);
    要素を元の位置(垂直方向の移動なし)に戻します。これによって、要素が下から上へスライドしてくるような効果が得られます。

アニメーションの流れ

  1. 初期状態では、要素は透明で少し下に位置しています。
  2. JavaScriptによって画面内に要素が入ったことが検出されると、「is-visible」クラスが追加されます。
  3. トランジションによって、不透明度が0から1へ、位置が20px下から元の位置へと変化します。
  4. この変化は0.5秒かけて行われ、終了時にはゆっくりと止まるため、自然なアニメーション効果が得られます。

このようなCSSトランジションを利用することで、シンプルながら視覚的なインパクトのあるアニメーションを実現できます。

JavaScriptでスクロールイベントを設定

次に、JavaScriptを使用してスクロールイベントを監視し、要素が画面内に入ったときにクラスを追加します。

document.addEventListener('DOMContentLoaded', function() {
    const elements = document.querySelectorAll('.fade-in-element');
    
    const onScroll = () => {
        elements.forEach(element => {
            const rect = element.getBoundingClientRect();
            if (rect.top < window.innerHeight) {
                element.classList.add('is-visible');
            }
        });
    };

    window.addEventListener('scroll', onScroll);
    onScroll(); // 初期表示時にもチェック
});

JavaScriptコードの詳細

1. document.addEventListener('DOMContentLoaded', function() {...})

  • DOMContentLoaded イベント
    このイベントは、HTMLドキュメントの読み込みと解析が完了したときに発生します。このタイミングでスクリプトを実行することで、DOM要素が完全に利用可能になった状態でスクリプトを操作できます。

2. const elements = document.querySelectorAll('.fade-in-element');

  • document.querySelectorAll メソッド
    このメソッドは、指定されたCSSセレクター(ここでは.fade-in-element)に一致するすべての要素を取得します。結果はNodeListとして返され、これをelementsという変数に格納しています。これによって、ページ内のすべてのアニメーション対象要素を操作できます。

3. const onScroll = () => {...}

  • スクロールイベントハンドラー
    onScrollはアロー関数で定義された関数で、スクロール時に実行されます。この関数内で各要素が画面内に入っているかどうかをチェックします。

4. elements.forEach(element => {...})

  • forEach ループ
    NodeListに対してforEachメソッドを使用し、各要素に対して処理を行います。ここでは、各要素の位置を確認しています。

5. const rect = element.getBoundingClientRect();

  • getBoundingClientRect() メソッド
    このメソッドは要素のサイズと位置を取得し、ビューポートに対する矩形情報(DOMRectオブジェクト)を返します。この情報を使って要素が画面内に入っているかどうかを判断します。

6. if (rect.top < window.innerHeight) {...}

  • 条件チェック
    rect.topは要素の上端がビューポートの上端からどれだけ離れているかを示します。この値がウィンドウの高さより小さい場合(つまり、要素が画面内に入っている場合)、以下の処理が実行されます。

7. element.classList.add('is-visible');

  • クラスの追加
    要素が画面内に入ったとき、「is-visible」クラスを追加します。このクラスが追加されることで、CSSによるアニメーションが適用されます。

8. window.addEventListener('scroll', onScroll);

  • スクロールイベントリスナー
    ウィンドウ全体に対してスクロールイベントリスナーを設定し、ユーザーがスクロールするたびにonScroll関数が呼び出されるようにしています。

9. onScroll(); // 初期表示時にもチェック

  • 初期チェック
    ページロード直後にも一度onScroll()を呼び出すことで、初期状態で既に画面内にある要素にもアニメーションを適用します。これによって、ページロード時点で表示されている要素も正しく表示されます。

このスクリプトは、ウィンドウがスクロールされるたびに各要素の位置をチェックし、画面内に入った場合に「is-visible」クラスを追加します。このクラスが追加されることで、CSSのトランジションが発動し、要素がふわっと表示されます。

 

 

 

 

 

Google スプレッドシートで、ハッシュタグなどで半角スペースで区切られたテキストを改行して表示するには、SPLIT 関数と JOIN 関数を組み合わせて使うことができます。具体的な手順は以下の通りです。

目次

  1. JOIN関数とCHAR関数とSPLIT関数を組み合わせる

  2. SPLIT関数

  3. CHAR関数

  4. JOIN関数

  5. まとめ

JOIN関数とCHAR関数とSPLIT関数を組み合わせる

 

例えば、A1 セルに「#WordPress #GoogleSlides #HTMLブロック #ウェブデザイン #ブログカスタマイズ …」といったテキストがあるとします。

 

画像
 

B1 セルに以下の関数を入力します。

=JOIN(CHAR(10), SPLIT(A1, " "))


画像
 

 

半角スペースで改行されて表示されました。

 

SPLIT関数

SPLIT(A1, ” “):A1 セルのテキストを半角スペースで分割します。
例えば、A1 セルに「りんご,バナナ,みかん」と入力されている場合、それをカンマで分割するには以下のようにします。

=SPLIT(A1, ",")

 

 

これにより、B1 セルに「りんご」、C1 セルに「バナナ」、D1 セルに「みかん」が表示されます。

 

CHAR関数

CHAR()関数は、数値を対応する文字に変換する関数です。

CHAR(code)


以下は、CHAR 関数の例です。

  • CHAR(9): タブ文字

  • CHAR(10): 改行文字 (Line Feed, LF)

  • CHAR(13): 復帰文字 (Carriage Return, CR)

  • CHAR(32): スペース文字

  • CHAR(65): 文字「A」

  • CHAR(228): 文字「ä」 (ラテン文字のä)

CHAR(10) 関数は、改行文字を返します。

JOIN関数

JOIN(CHAR(10), …):分割されたテキストを改行コード(CHAR(10)) で結合します。

JOIN(区切り文字, 配列)


改行が正しく表示されます。

 

画像
 
 
 

 

 

{{ }} の変数は、ChatGPTがテンプレートベースで生成するテキストにおいて、プレースホルダーとして使用されます。このプレースホルダーは、指定された内容に応じて動的に置き換えられる部分です。

例えば、テンプレートの中で特定のデータやユーザーが入力した内容を反映させるために使われます。

目次

  1. {{ }} の具体的な使い方

  2. APIやデータベースからの値の挿入

  3. 動的コンテンツの生成

  4. まとめ

{{ }} の具体的な使い方

プレースホルダーの役割:

{{ }} の中にキーとなる名前を入れておき、後でその部分に特定の値を差し込むために使用します。

例:

こんにちは、{{名前}}さん。今日はどんなお手伝いをしましょうか? 

 

この場合、「名前」というプレースホルダーがあり、実際のユーザー名に置き換えられることが想定されます。

APIやデータベースからの値の挿入

外部データソース(例えば、データベースやAPI)から取得した情報をテンプレートに埋め込む際に使用されます。

例:

{{ユーザー名}}さん、あなたのアカウント残高は{{残高}}円です。 

 

ここでは、{{ユーザー名}}と{{残高}}がAPIから取得された値に置き換えられます。

動的コンテンツの生成

テンプレートの内容を動的に変更するために使用され、コンテンツのパーソナライズや多様なケースに対応したテキスト生成が可能になります。

例:

あなたの注文番号は{{注文番号}}です。発送予定日は{{発送日}}です。 


このように、注文番号や発送日がそれぞれのケースで動的に差し込まれます。

 

 

 

 

 

 

 

 

 

見出し画像

 

 

スプレッドシートは、データの分析や計算に非常に便利なツールです。特に数値の操作において、さまざまな関数や方法が用意されています。今回は、スプレッドシートで値を単純にマイナスにする方法について詳しく解説します。

目次

  1. 単純な負号の使用

  2. マイナス1を掛ける

  3. IF関数を使用する

  4. ABS値(絶対値)の反対を取得する

  5. まとめ

 

単純な負号の使用

最も基本的な方法は、値の前に負号(マイナス記号)をつけることです。例えば、セルA1の値をマイナスにしたい場合、以下の数式を使用します。

=-A1

copy

この数式を入力すると、A1の値がそのまま反転され、正の値であれば負の値に、負の値であればそのままの値が返されます。

 

 

画像
 

 

非常にシンプルで直感的な方法です。

 

マイナス1を掛ける

別の方法として、値に-1を掛けることもできます。以下の数式を使ってみてください。

=A1*(-1)

copy

この方法でも、元の値の符号が反転されます。特に、数式を使って計算を行う際に、マイナス1を掛けることは非常に有効です。

IF関数を使用する

元の値が正の場合のみマイナスにしたい場合は、IF関数を利用するのが効果的です。以下の数式を使うことで、条件に応じた処理が可能になります。

=IF(A1>0, -A1, A1)

copy

この数式は、A1の値が正の場合にはマイナスにし、0または負の値の場合にはそのままの値を返します。特定の条件に基づいて値を操作したい時に便利です。

 

ABS値(絶対値)の反対を取得する

最も簡単な方法は、ABS関数の結果に負号をつけることです。例えば、セルA1の値の絶対値の反対を求めたい場合、以下の数式を使用します:

=-ABS(A1)

copy

この方法では、元の値が正であれば負の値に、元の値が負であれば正の値になります。

 

 

https://eguweb.jp/spreadsheet/75155/

 

Googleスプレッドシートで空白セルを、例えば「出」アイコンで一気に埋める方法について説明します。

目次

  1. 対象範囲を選択する

  2. 「編集」メニューを開く

  3. 正規表現で空白セル

  4. 正規表現を使用した検索

  5. 置換を実行

  6. まとめ

対象範囲を選択する

空白セルを埋めたい範囲を選択します。

画像
 

 

「編集」メニューを開く

メニューバーから「編集」を選択し、「検索と置換」をクリックします。

 

画像
 

正規表現で空白セル

「検索」欄に「^$」と入力します。これは正規表現で空白セルを示します。

 

画像
 

 

「置換後の文字列」に「出」と入力します。

 

正規表現を使用した検索

「正規表現を使用した検索」にチェックを入れます。

 

画像
 

 

置換を実行

「すべて置換」をクリックします。

 

画像
 

空白が「出」に変換されました。

 

 

 

 

 

オープンチャットの「大事なノート」機能:効果的な活用法LINEのオープンチャットは、共通の興味や趣味を持つ人々が集まるコミュニティスペースとして人気を集めています。その中でも「大事なノート」機能は、ルーム運営に欠かせない重要なツールです。今回は、この機能の特徴や活用法について詳しく見ていきましょう。

 

 

「大事なノート」とは何か?

「大事なノート」は、オープンチャットルーム内で特に重要な情報を目立たせるための機能です。ルールやマナー、禁止事項など、メンバーに必ず読んでほしい情報を強調するために使用されます。また、自己紹介や重要なお知らせなど、ルーム運営に不可欠な情報を目立たせることができます。

 

画像
 

 

 

 

「大事なノート」の作成方法

「大事なノート」の作成は以下の手順で行えます。

  1. 通常のノートを作成します。

  2. 作成したノートの右上にある「…」または丸が3つあるマークをタップします。

  3. 表示されたメニューから「大事なノートに登録」を選択します。

 

画像
 

 

画像
 

これで、通常のノートが「大事なノート」として登録されます。

「大事なノート」の特徴と活用のコツ

「大事なノート」には以下のような特徴があります。

  • 通常のノートと区別されて表示されます。

  • メンバーがルームに参加した際、最初に確認すべき情報として位置づけられます。

活用のコツ:

  • 画像を使用してノートを作成すると、ルームにシェアした際により目立たせることができます。

  • 複数の大事なノートがある場合、「目次ノート」を作成して#ハッシュタグを使用すると、ノートを探しやすくなります。

「大事なノート」の運営上の利点

「大事なノート」機能を活用することで、以下のような運営上の利点があります。

  • よくある質問をまとめておくことで、同じ質問の繰り返しを減らせます。

  • ルームのルールや方針を明確に示すことができ、円滑な運営に役立ちます。

  • 重要な情報を確実にメンバーに伝えられるため、コミュニケーションの質が向上します。