
LibreOffice にデータを入力すると、日付でも数字でも、LO はそれをテキストとして残すのではなく、そのようにフォーマットします。入力したテキストはそのままのフォーマットのままにしておきたいので、これは非常にイライラします。
これまで試したこと:
右クリックして書式を「テキスト」に設定する - 非常に面倒です
'
セルの先頭で を使用する- 一応は機能しますが、それでも最善の解決策ではありません以下のすべてのチェックを外す
Tools -> AutoCorrect Options
すべてのメニュー、設定、カスタマイズ オプションを確認しましたが、LO calc が提供するすべての自動書式設定機能を無効にするオプションは見つかりませんでした。数値、通貨、日付、時刻、URL、テキスト配置など...
セルに入力したものは、特に指定しない限り、そのまま保持されます。
答え1
完全に無効にすることはできませんが、回避策はいくつかあります。私自身は、次の方法が一番気に入っています。以下は Excel の例です (LibreOffice もほぼ同じように動作します)。
現在のシートのデフォルトのフォーマットを変更する
- すべてのセルを選択 (Ctrl+A)
- すべてのセルにテキスト形式を設定します (スクリーンショットに示すようにリボンから、または右クリック/コンテキスト メニューなどから)
(注意: スクリーンショットではすべてのセルを選択しているわけではなく、B 列のみを選択しています)
代替解決策: マクロを使用する:
Private Sub Workbook_Open()
Dim sh As Worksheet
For Each sh In Me.Sheets
sh.Cells.NumberFormat = "@"
Next
End Sub
代替解決策: すべてのシートのデフォルトの形式を変更する
- すべてのシートタブを選択します(ワークシートタブを右クリック -> [すべてのシートを選択] オプション)
- いずれかのワークシートの左上隅をクリックします。
- テキストフォーマットを適用する
すべての新しいExcelファイルのデフォルトとして設定
- ワークブックをExcelテンプレートとして保存する
- 「テンプレートを保存」ダイアログには、「デフォルトのテンプレートとして設定」オプションがありますので、チェックマークを付けてください(このオプションがない場合は、XLStart フォルダに Book.xltx という名前で保存してください)。
- 注意: 新しいワークブックのワークシートではテキストが使用されますが、追加の(新しい)ワークシートでは一般的な形式が再び使用される可能性があるため、新しいワークシートで上記のマクロを使用するか、手動で行う必要があります。
答え2
私は Calc でこの問題に取り組んでいました。Web ページからテーブルをコピーして Calc に貼り付けると、日付に似たセルの内容が日付に変換されました。Calc はデータを数値に変換してから日付にフォーマットするため、元の情報が失われます。つまり、セルを「テキスト」にフォーマットすると、その数値のテキスト バージョンが生成されますが、これは私が必要としていたものではありません。「すべての情報が失われる」と言うのは、完全に正しいわけではありません。日付にはまだ情報が存在しています。切り取って再フォーマットする必要があるだけです。
例: Web ページのいくつかの列の形式は n/m (例: 1/1、2/4、3/3 など) です。Calc はこれらをそれぞれ 01/01/23、02/04/23、03/03/23 に変換します。例: 0n/0m/23。
これを解決するため、私は ChatGPT に支援を求め、この回避策を実行するために使用した次の数式を入手しました。
必要に応じてセル参照を調整しながら、表の下の空のセル内に次の数式を入力します。
=MONTH(A1) & "/" & DAY(A1)
たとえば、次のようになります。
=MONTH($F2) & "/" & DAY($F2)
塗りつぶしハンドル (選択したセルの右下隅にある小さな四角形) をドラッグして、数式を下の空のセルにコピーします。この操作により、対応するセルに数式が自動入力され、Calc のルールに基づいてセル参照が自動的に調整されます。
これらのセルすべて (列全体) を強調表示して「切り取り」(コピーして削除) します。
表に戻り、修正する列の一番上のセルをクリックします。
値のみを貼り付けるには、ショートカット <Ctrl><Shift><V> (または macOS/Linux の同等のキー) を使用します。ポップアップで「値のみ」を選択し、プロンプトが表示されたら「はい」で確定します。
できました! すべてのセルに正しい値が表示されるはずです。最後に、<Ctrl><-> ショートカットを使用して、テーブルの下にはみ出したセルをトリミングします。
それは単なる場当たり的な回避策に過ぎないことは承知していますが、他に方法がない場合は...