質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
LibreOffice Calc

LibreOffice Calcは、様々なOSで利用可能なオフィススイートであるLibreOfficeに含まれるオープンソースの表計算ソフトです。テンプレートや背景色、枠線といった書式設定の各項目を柔軟で設定することができます。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

Q&A

解決済

1回答

1640閲覧

Libre Office Calc・Excel を使い、セルをNullから空白にして、CSVへ書き出したい

dreamers

総合スコア61

LibreOffice Calc

LibreOffice Calcは、様々なOSで利用可能なオフィススイートであるLibreOfficeに含まれるオープンソースの表計算ソフトです。テンプレートや背景色、枠線といった書式設定の各項目を柔軟で設定することができます。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

0グッド

0クリップ

投稿2021/05/28 10:14

編集2021/05/28 10:58

#■おたずねしたいこと
Libre Office Calc・Excel を使い、セルをNullから空白にして、CSVへ書き出したいです。
アドバイス頂きたく、宜しくお願い致します。

#■行ったこと

セルA1に「=if(B1=0,"","")」などと入れて、CSVで保存。
だめでした。
甘く見てましたが、結局、分からなかったです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aokikenichi

2021/05/29 09:51

状況がわかりません どういう入力でどういう出力にされたいのでしょうか B1セルにNullがあり、それをA1セルで空白(関数例からすると空白ではなく空の文字列のようですが)としたいということでしょうか。 Calc、Excel上でのNullと言っているのは「#NULL! 」ということでしょうか。
dreamers

2021/05/29 13:45

aokikenichi様、ありがとうございます。 私の認識では Libre Office Calc・Excelで、何も表示されていないカラムは、NULLか、空白か、だと思います。 CSVファイルで、NULLは ,,  空白は ,"", と表示されると思っています。 NULL ,,  を 空白 ,"", に変更したい、という意味です。
aokikenichi

2021/05/30 09:27

空白と、空の文字列は異なります 空白はスペースキーを押したときに表示される全角空白か半角空白ですね NULLは色々複雑なのですが例えばExcelでは#NULL!というエラー値の一種です CSV上の ,, か ,"", はNULLか空白の違いではないです ””をcsvでつけるのは通常 1,000 のような値を 1 と 000 ではなくて 1,000 として認識させたい場合に "1,000" としますが ,, を ,"", とされたい意図はなんでしょうか むしろExcelではなくテキストファイル上で正規表現等で変換された方が良いと思います
dreamers

2021/05/30 11:18

aokikenichi様、ありがとうございます。 DBへCSVファイルをインポートするとき、NULLを空白(スペース)にしなくてはいけない(,, を ,"", )と思い、しばらく思案した次第です。 投稿後、しばらくして、NULLでもインポートできたのですが、今後のことも考え、 ,, と ,"", の違い、変換の仕方を明確にしておきたかった次第です。 今後、テキストファイル上で正規表現等で変換、という方法も探って行きたいと思います。
guest

回答1

0

ベストアンサー

自分で書くならこんな感じでしょうか。(ExcelVBAの例)

VBA

1Function DQCSV(rng As Range) As String 2 Const DQ = """", COMMA = "," 3 Dim i 4 ReDim arr(1 To rng.Rows.Count) 5 For i = 1 To rng.Rows.Count 6 arr(i) = DQ & Join(WorksheetFunction.Index(rng.Value, i, 0), DQ & COMMA & DQ) & DQ 7' arr(i) = DQ & WorksheetFunction.TextJoin(DQ & COMMA & DQ, False, rng.Rows(i)) & DQ 8 Next 9 DQCSV = Join(arr, vbLf) 10End Function 11 12 13Sub test() 14 Open "out.csv" For Output As #1 15 Print #1, DQCSV(Sheet1.UsedRange) 16 Close #1 17End Sub 18

投稿2021/05/31 00:19

編集2021/05/31 04:47
jinoji

総合スコア4592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問