「自由に使えるオフィススイート」https://ja.libreoffice.org/
Calcのセルに日付データがある場合のフォーマットについてメモ書きです。
例えば、セルの内容が次のような場合。
A | B | |
---|---|---|
1 | 2015-10-02 10:47 | =TEXT(A1, “M月D日”) |
上記のようにB1セルに =TEXT(A1, “M月D日”) と書くと、
10月2日
と表示することができます。
「自由に使えるオフィススイート」https://ja.libreoffice.org/
Calcのセルに日付データがある場合のフォーマットについてメモ書きです。
例えば、セルの内容が次のような場合。
A | B | |
---|---|---|
1 | 2015-10-02 10:47 | =TEXT(A1, “M月D日”) |
上記のようにB1セルに =TEXT(A1, “M月D日”) と書くと、
10月2日
と表示することができます。
先日、CSV形式のデータを編集していてトラブルになりかけましたので整理しておきます。
問題になったのはCSV形式の顧客データで、利用者が希望のユーザIDを登録できるものでした。アルファベットのみやアルファベットと数字の組み合わせであれば良いのですが、数字のみのIDで桁数が多いと Excel や Calc の仕様によって指数表示に変換されてしまう場合があります。
画面内でスクロールなしで見渡せる程度であれば気がつくかもしれませんが、データ件数が多い場合は知らないまに数値が指数表示に変換されて、しかも指数表示のままテキストデータとして保存されてしまいます。
そのような問題を回避するには、数字のみの列を「テキスト」列として扱う必要があります。
テストのために、次のようなサンプルのCSVファイルを用意しました。
これをLibreOffice Calc(またはExcel)で開くと、テキストインポートのダイアログが表示されます。
まずは「OK」ボタンをクリックしてそのままインポートしてみます。
桁数が多いセル(16桁以上)が指数表示になります。
これを、そのまま上書き(CSV形式)で保存してみます。
※選択した書式を保持をクリック
保存したCSVファイルをテキストエディタで開いてみると、16桁以上の行が指数表示のまま文字列として保存されています。
例えば、クレジットカード番号のような数字をIDとして登録していると、CSV形式で編集を行う際にデータを壊してしまう可能性があるということです。
このような問題を回避するには次のようにします。
先ほどの「テキストのインポート」ダイアログで問題となる列を選んで列の種類を「標準」から「テキスト」に変更して「OK」ボタンを押します。
前回とは違って指数表示がなくなり、すべての桁が表示されています。
適当に編集して上書きで保存してみます。
保存したCSV形式ファイルをテキストエディタで開いてみます。
16桁以上の行が指数表示に変換されることなく保存されています。
そして「テキスト」形式の列にはダブルクオートが付いています。
ここで、テキスト列のダブルクオートを外したい場合は、「名前を付けて保存」->「フィルタ設定を編集する」として、
「テキストファイルのエクスポート」ダイアログで「テキストの区切り記号」を空にして保存します。
出来上がったCSVファイルをテキストエディタで開いてみます。
以上です。
※下記のページを参考にさせていただきました。
「Excel:指数表示にされてしまった数値を一気に直す」
[XL2002]セルの数値が指数表示になる条件
LibreOfficeのCalcでCSVを編集して保存する際に区切り文字や
クオートが思うようにならない場合があったので調べてみました。
サンプルのCSV(メモ帳)
このような、カンマ区切り、ダブルクオートなしのテキストファイルを用意します。
ファイルのアイコンをマウス右クリックでCalcから開きます。
「テキストのインポート」のダイアログが表示されます。
インポートするCSVのフォーマットに合わせて「区切りのオプション」を
適宜変更します。
今回はカンマ区切りでクオートなしなので「テキストの区切り記号」を
空にしておきます。
OKボタンでファイルを開くとCalcのスプレッドシートにCSVの
内容が表示されます。
スプレッドシートの内容を編集します。
編集が完了したら上書き保存して一旦ファイルを閉じます。
そしてメモ帳で開いてみます。
問題なさそうです。
では次にCSVを読み込む際のオプションを変えてみます。
ここでは区切りのオプションを「タブ」、「コンマ」、
そしてテキストの区切り記号を「”」(ダブルクオート)
にしました。
そして同様にCSVファイルを開いて適当に編集し、上書き保存します。
ODF形式ではない場合の確認ダイアログが表示されました。
「選択した書式を保持」で保存します。
メモ帳で開いてみると、タブ区切りでテキスト項目が引用符(ダブルクオート)で
囲まれています。
ファイルを開く際の「区切りのオプション」の選び方によって
保存する際のCSVのフォーマットが変わってしまうようです。
ということで、CSVファイルを開く際の「区切りのオプション」を正しく
選んでおくとよさそうです。
それと、CSVファイルを開いたときの状態がわからない場合は、
上書き保存ではなくて「名前を付けて保存」として、
さらに「フィルタ設定を編集する」をチェックしておけば、
保存時に「区切りのオプション」を調整することができます。
参考)LibreOffice Help CSV ファイルのインポートとエクスポート
LibreOfficeのCalcで連続データを作る場合。
参考)http://help.libreoffice.org/Calc/Automatically_Calculating_Series
CTRLキーを押しながら、フィルハンドル(セルの右下)をドラッグすると、
同じ値で埋めることができます。
複数のセルで増分のパターン(数値)を作れば、その増分のパターンを自動生成
することができます。
文字列による順序リスト(日、月、火、水、木、金、土)をカスタマイズしたい場合は、
「ツール」->「オプション」->「LibreOffice Calc」->「順序リスト」で作ることができます。
例えば、A1に1月とにゅうりょくして、A12までオートフィルします。
次に、B1とC1に適当な値を入力して、フィルハンドルをダブルクリックすると、
B1:C12の範囲に、増分1の値を自動入力することができます。
あるいは「連続データ」を使う方法。
値を埋めたいセルを選択して、
「編集」->「連続データ」->「連続データの作成」を開きます。
そして、開始値、停止値、増分値を適宜入力して実行すると、
選択範囲が自動入力されます。