データを収集するために他のユーザーと共有しているスプレッドシートがあります。各人は、セルの範囲のいずれかに単一の文字を入れるだけです(想定されています)。
これらのセルを大文字に変換するにはどうすればよいですか?
各セルで=UPPER()
を使用すると、入力した内容によって上書きされるため、スターターではないように見えます。
入力を大文字に自動的に変換するスクリプトを次に示します。
function onEdit(e) {
if (typeof e.value != 'object') {
e.range.setValue(e.value.toUpperCase());
}
}
スプレッドシートから、[ツール]> [スクリプトエディター]に移動します。上記のコードをコードウィンドウに入力し(そこに事前に入力されているものをすべて置き換えて)、保存します。
大文字のandの1文字のエントリを強制する場合は、カスタム式でデータ検証を使用できます
=regexmatch(A1,"^[A-Z]$")
これは、範囲の左上隅がA1であり、ラテンアルファベットの文字を想定していることを前提としています。正規表現^[A-Z]$
の意味:文字列の始まり。 A〜Zの範囲の単一文字。文字列の終わり。
これは 必要なもの です。
スクリプトのこの行を変更するだけです...
ui.createMenu( 'Custom Menu')
...これに...
ui.createMenu( 'Case Change')
...あなた自身のために。