PSPadをテキストエディターとして使用します。 Alt + D タイムスタンプを挿入するには、例:
2010-07-17 23:45:44
Googleスプレッドシートでこれを行う方法はありますか?
AutoHotKeyを使用してこの機能を実行します。
AutoHotKey は、Windowsスクリプトアプリケーションおよび言語です。
私が使用するコードは以下のとおりです。時間を挿入し、必要に応じてスラッシュをハイフンに変更することは簡単に変更できます。
+!d:: ;Shift-Alt-D: Insert current date
SendInput %A_DD%/%A_MM%/%A_YYYY%
return
Googleスプレッドシートは、次のキーボードショートカットをサポートしています。
Ctrl + Shift + : 時間を挿入するキーストロークです。
Ctrl + ; 日付を挿入するキーストロークです。
Ctrl + Alt + Shift + : 日付と時刻を挿入するキーストロークです。
詳細については、 キーボードアクセラレータ、ニーモニック、およびショートカット を参照してください。
文字列リテラル「_now」を現在の日時に変換する小さなスクリプトを作成しました-
function onEdit(e) {
if (e.range.getValue() == "_now") {
e.range.setValue(new Date());
}
}
_now
と入力し、それを現在の日時値に変換しておくとかなり便利です。
https://developers.google.com/apps-script/quickstart/macros および https://developers.google.com/apps-script/understanding_events をご覧ください。これをGoogleスプレッドシートに追加する方法に関する情報
次の場所でブックマークレットを配置できます。
javascript:var thetime=new Date();var txtNode=document.createTextNode((thetime.getMonth()+1)+'/'+thetime.getDate()+'/'+thetime.getFullYear()+' '+thetime.getHours()+':'+thetime.getMinutes()+':'+thetime.getSeconds()); var myInputNode=document.getElementsByClassName('cell-input')[1]; if (myInputNode.hasChildNodes()) { myInputNode.replaceChild(txtNode, myInputNode.childNodes[0]); } else { myInputNode.appendChild(txtNode); }; void(0);
次に、セルを編集してブックマークレットをクリックします。
current date-timeの式は=now()
です。これを使用して、次のようにstaticタイムスタンプを作成できます。
=NOW()
と入力します=today()
をセルに入力して現在の日付を取得します。Googleスプレッドシートではサポートされていませんが、外部アプリなしで別の回避策を試すことができます。
(MacOSを使用している場合は、 Cmd の代わりに Ctrl Copy/Cut/Paste
の場合、ただし Ctrl + M コメントを挿入するため、 Cmd + M ウィンドウを最小化しています。)
このためのスクリプトも作成しましたが、デフォルトのタイムスタンプ(=TODAY()
や=NOW()
など)では使用できない形式が必要でした。
また、 現在のセッションに基づいてタイムゾーンを取得します (シートの設定で設定されます)。
function _NOW(input)
{
// for formatting, see:
// https://docs.Oracle.com/javase/7/docs/api/Java/text/SimpleDateFormat.html
var timestamp_format = "yyyy-MM-dd hh:MM a"; // Timestamp Format eg: 2019-04-11 12:04 PM
var timezone = Session.getScriptTimeZone();
var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
return date;
}
使い方は簡単です。
=_NOW()
明確にするために、Googleスプレッドシートのカスタム日付フォーマットは燃えるごみの山であるため、手動で日付フォーマットを行いました(デフォルトとしてカスタムフォーマットを設定する方法、すべてを削除せずに日付/時刻要素の順序を変更する方法はありません)最初に、1つずつ追加します)。
次のキーボードショートカットを使用して、Googleシートで作業中にタイムスタンプをすばやく入力できます。
これを参照できます tutorial 、ビデオも含まれています。スクリプトコードで、変更
var timestamp_format = "MM-dd-yyyy"; // Timestamp Format.
デフォルトでは、日付のみが表示されます。時間を取得するには、以下のコードに変更してください。
var timestamp_format = "MM-dd-yyyy hh:mm:ss"; // Timestamp Format.
これはあなたが探しているものですか?私はそれを試してみましたが、完全に機能します。
タングアイ、この=IF(A2<>"",NOW(),"")
をテストしました。 A2に値がある場合、タイムスタンプが入力されます。 A2が空の場合、タイムスタンプはタイムスタンプ列に入力されません。