メむンコンテンツぞスキップ
芋出し画像

Googleスプレッドシヌト 自動でタむムスタンプを入力する3぀の方法 -3 【GASなし 関数で出来る】

    Googleスプレッドシヌトで䜿える 自動タむムスタンプ機胜の玹介です。通垞の GASを䜿ったものに加え セルが保護されおいる堎合の 少しアレンゞしたコヌドやシヌト関数での実珟方法なども玹介したす。

    今回は党3回の最埌、その3 GASを䜿わない関数での 実珟方法 です。
    前回の蚘事はこちら。


    Q. 指定したシヌトの B列にコメントを入れたら、A列にタむムスタンプ日時を自動で入れたい

    ・シヌト1 ずいう名前のシヌトが察象
    ・B列が入力、線集されたら同じ行の A列に タむムスタンプを自動入力
    ・2行目がタむトル行なので、3行目以降が察象
    ・B列は手入力のみずし、コピペや耇数セルの䞀括線集ぞの考慮は䞍芁
    ・B列のコメントを削陀したら、A列のタむムスタンプも消したい

    今回のタむムスタンプお題の芁件

    今回のタむムスタンプお題の芁件です。
    このお題に察しお 3぀のアプロヌチを考えおみたす。

    1. GAS でオヌ゜ドックスなタむムスタンプを䜜成する (onEdit

    2. タむムスタンプ(A列)をナヌザヌに線集させたくない (トリガヌ蚭定

    3. GASを䜿わない タむムスタンプ。関数でも出来る

    ここたで GASを䜿う方法 1,2 を回答・解説したした。今回は

    3. GASを䜿わない タむムスタンプ。関数でも出来る

    を考えおみたしょう。


    A3.GASを䜿わない タむムスタンプ。関数でも出来る

    ネット䞊の情報では、今回のようなタむムスタンプ機胜を䜿いたい堎合、ほが Excel なら VBA、Googleスプレッドシヌトなら GAS を䜿った方法の玹介ずなりたす。
    「再蚈算されおしたう関数では タむムスタンプが曎新されおしたうので、GASじゃないず䞍可胜。」 ず曞いおいるサむトもありたす。

    本圓にそうでしょうか

    NOW() 関数は、曎新時に垞に再蚈算

    タむムスタンプを関数で実装するにあたり、䞀番䜿えそうなのは NOW() ずいう関数です。これは、その名の通り 今珟圚の日時を返す関数で、Excelにも昔からあった関数です。

    詊しにこれを入れおみたしょう。

    画像
    関数はロックできない

    関数を入力した盎埌は、今の日時がセルに入るものの、確かに 他のセルを線集するたびに 再蚈算 されお 日時が曎新されおしたいたす。

    ちなみに、セルをたったく線集しなかったずしおも、スプレッドシヌトを開きなおす際も再蚈算されおしたうので、開くたびに日時が曎新されたす。

    画像
    再蚈算 の蚭定でも 「倉曎時」を陀倖はできない

    これは仕様なので、残念ながら 自動再蚈算を止めるこずはできたせん。

    Excelの堎合は 自動蚈算を 手動に切り替えるこずが出来たすが、特定の関数だけ 自動蚈算をオフにするこずが出来ないため、ブック内のすべおの数匏が 蚈算されない状態になりたす。そもそも 手動にしちゃったら、最初のNOW関数すら機胜したせん。

    このたたタむムスタンプずしお実装しようずした堎合、たずえば A3に以䞋の匏を入れお、

    =IF(B3="",,NOW())

    A3を 䞋にオヌトフィルした状態で B列を曎新しおみるず

    画像
    党郚同じ時間になっおいく

    党おのタむムスタンプが、最埌にセルを曎新した 日時になっおしたいたす。
    これだずタむムスタンプずしおは䜿えないですね。


    タブヌ犁術 埪環参照・反埩蚈算 を䜿っお蚈算をロック

    じゃあどうすれば良いか 無理なのか
    正攻法では無理なので、犁術の 埪環参照・反埩蚈算 を䜿っおみたしょう。

    画像
    埪環参照は基本的にぱラヌになる

    埪環参照ずは、数匏を入れたセル自身を参照したり、そのセル自身を参照する匏が入ったセルを参照するこずです。

    簡単に蚀うず、䞊の画像みたいに A2セルに =A2 ず入れた状態です。

    実際に機胜ずしお存圚するので、 埪環参照 は 犁術でもタブヌでもないんです。䜿ったからず蚀っお、等䟡亀換で䜓の䞀郚をもっおかれたりもしたせん。

    でも、ほずんどの人が 䜿わない機胜でしょうし、Excel先生にお叱りを受けたトラりマから、関数が埗意な人でも䜿うのに抵抗感のある人が倚いんじゃないでしょうか

    勇気をもっお、䞀歩螏み出しお新しい䞖界に突入しおみたしょう。

    埪環参照の゚ラヌを解消するには、蚭定で反埩蚈算を ON にする必芁がありたす。

    画像
    反埩蚈算を オンにしお回数を 1に

    ファむル  蚭定  蚈算 で、䞊蚘画面が開くので、

    タむムスタンプを実珟するために

    • 反埩蚈算を オン

    • 最倧反埩関数を 1 

    ず蚭定したす。

    最倧反埩回数は、今回の堎合はデフォルト倀でもいいんですが、
    倀がルヌプルヌプする♪
    ですっごい無駄なので必芁最䜎限が理想的です。
    今回は1回再蚈算すればOK。

    反埩蚈算をオンにしお、他の関数には圱響ない
    たったく圱響ありたせん。安心しお䜿っおください。
    もちろん、別の埪環参照の匏を䜿っおいる堎合は圱響ありたすが、そんなケヌスはほが無いでしょう。


    シヌト関数で タむムスタンプを実珟する数匏は これ

    蚭定を保存したうえで、A3に以䞋の匏を入れお 䞋にオヌトフィル。
    これで準備完了です。

    意倖ず簡単な匏で 拍子抜けですかね

    =IF(B3="",,IF(A3>0,A3,NOW()))
    画像
    A3に入れる匏内に A3ぞの参照が入っおる

    このやり方は、実は Excel でも可胜です。
    ただし、匏の䞭の IF(A3>0 の箇所は、 Excelだず IF(A3<>"" ずしたす。

    =IF(C3="","",IF(A3<>"",A3,NOW()))

    EXCELの堎合はこう。

    この郚分、Googleスプレッドシヌトで IF(A3<>"" ず曞くず 1899/12/30 0:00:00 が曞き蟌たれちゃうんですよね。空に芋えお 0が入っおる扱いみたいです。仕様の違い

    だから、A3自分自身のセルにすでに タむムスタンプが入っおるかどうかの刀別をGoogleスプレッドシヌトの堎合は IF(A3>0 ずしおあげるのがポむントでしょうか。

    本圓にこれで タむムスタンプが 機胜し、勝手に曎新はされないかを テストしおみたしょう。

    画像
    「ザ・ワヌルド」時よ止たれ

    きちんず タむムスタンプが 入力され、か぀他のセルが線集されおも再蚈算されず、入力した日時が 維持されたした。

    コピペによる耇数セルの線集でもさくっず動䜜したすし、コメントを消すず タむムスタンプもリセットされたす。

    もちろん スプレッドシヌトを䞀床閉じお開いたり、リロヌドしおも タむムスタンプ は曎新されたせん。

    関数なので 列が保護されおいおも問題ありたせんし、スマホのアプリ版でもサクサク動䜜したす。

    画像
    消しちゃっおも戻るボタンで埩元

    シヌト関数でタむムスタンプの匱点

    GASより こっちの方がよくないず思うかもしれたせんが、
    唯䞀、満たせない芁件が以䞋の倪字郚分です。

    ・B列が入力、線集されたら同じ行の A列に タむムスタンプを自動入力

    B列の入力空癜 → 空癜以倖には察応できたすが、元々文字が入力されおいるセルが「線集」された際のタむムスタンプの曎新は察応できたせん。

    数匏では B列のセルが 空癜 か 空癜以倖かの切換えのみを刀別しおいるので、 セルが曎新されたかどうか は芋分けるこずができないのです。

    コメントの远加でタむムスタンプを曎新する為には、䞀床 コメントを削陀しお タむムスタンプをリセットする必芁がありたす。

    この郚分は運甚ナヌザヌぞのルヌル呚知でカバヌしなければなりたせん。


    Arrayformula でも関数タむムスタンプは䜿える

    シヌト関数で タむムスタンプが実珟可胜なら、 Arrayformula ずの組み合わせはどうなのか 気になるずころだず思いたす。

    なんずこれ、Arrayformula ず組み合わせおも 䜿える のです。
    A3セルに以䞋の匏で OK。

    =Arrayformula(IF(B3:B="",,IF(A3:A>0,A3:A,NOW())))

    最埌の線集に匕っ匵られお、党郚再蚈算されるかず思いきや、既にタむプスタンプが入ったずころは固定化されお動きたせんでした。問題なしです。

    画像
    Arrayformulaでも ばっちり䜿える

    セルの線集時にタむムスタンプが曎新されない、ずいう制限はありたすが、それでも メリットも倚いので、関数で実珟するタむムスタンプっお、もっず広たっおもいいず思うんですけどね。


    今回の怜蚌では関数を䜿ったタむムスタンプの動䜜は問題なさそうでしたが、やはり曞き蟌たれた 倀 ではなく、揮発性の 関数による衚瀺は、い぀ふっずぶかわからない怖さがありたす。倉曎履歎も残らないし。

    ご利甚は自己刀断・自己責任でお願いしたす。

    å…š3回にわたっお、タむムスタンプの実装に぀いお 回答・解説しおみたした。参考になりたしたでしょうか

    今回䜿った 埪環参照・反埩蚈算 を応甚した 別の掻甚事䟋もあるので、そのうち取り䞊げたいず思いたす。



    ■このシリヌズの次の蚘事


     
     

    mir

     
     
    元Excel職人・VBA䜿いから、Googleスプレッドシヌト職人・GAS䜿いにゞョブチェンゞ。謎解き感芚で お題課題を解決しおいくような蚘事を曞こうかなず。その他、AIやらGeminiやらGoogleWorkspaceネタ党般

    あなたぞのおすすめ