タグ : Googleスプレッドシート

[Google スプレッドシート] 数字を Plain Text に変換するには TEXT(A1,”@”) 関数を使うといいらしい

Googleスプレッドシートで、vlookup の検索キーの部分を Plain text にしているのにエラーが出て無駄に時間を使ってしまうことがありました。

エラーメッセージ
Error
Did not find value in VLOOKUP evaluation.

原因は Plain text になっているように見えて、実はなってなかったという罠でした・・・。再度 Plain text で format したら正常に vlookup できました。

同僚にこの話をしたら、

TEXT(A1,"@")

で、プレーンテキストになりますよ。

ということを教えてもらいました。

以下、TEXT 関数を使って vlookup してみたサンプルです。

Google スプレッドシートの活用スキルがまだまだ足りない。

MongoDB query でタブ文字区切りの文字列を出力させた結果をコピペするとタブ文字が消えることがあるのでファイル出力するのがベスト

本記事でお伝えしたいことはタイトルで完結していますが、先日 MongoDB の Query を書ける営業社員から「Mongo Query の出力結果を Google スプレッドシートに貼り付けると左に列がずれるのでコードレビューしてほしい」と相談されました。

MongoDB

結論としては query 自体には何も問題なく、タブ文字 \t 区切りで文字列を出力すると Mac の Terminal アプリからコピー&ペーストするときに折り返し位置によって \t が消えてしまうことがあるようでした。

ファイル出力すればタブ文字が消えてしまう問題は発生しないので、

mongo --quiet mydb script.js > example.csv

のような感じでファイルに出力して、これを Google スプレッドシートにインポートすると列がずれることがなくなりました。

もし、似たような問題が発生した方は Terminal アプリからのコピペの部分の挙動を疑ってみると解決するかもしれませんよ。

[MongoDB] 改行文字を含む field の値をGoogle スプレッドシートでインポートできる形式で出力する

MongoDB で改行文字を含む field の値を Google スプレッドシートでインポートできる形式で出力する方法をご紹介します。

MongoDB

区切り文字には , (カンマ)を使い、改行文字を含むフィールドを ” (ダブルクオーテーション) で囲みます。

下記の例だと、 detail フィールドが改行文字を含みます。

db.products.find( { detail : regExp } ).forEach(function(p){
  print(p._id.valueOf() + ',"' + p.detail + '"');
});

あとは、スクリプトを実行して、実行結果をファイルに出力して、

mongo --quiet mydb script.js > example.csv

Google スプレッドシートにて、「区切り文字:自動的に検出する」で問題なくインポートできるはずです。

google-spreadsheet-import

以上です。