Appsheet失敗談!スプレッドのデータ型に注意すべきだった💦

ほぼ毎日触っているAppSheet、ブログというほどではありませんが日々のAppSheetとの格闘歴をできる範囲で残していきます。(なので文章としては味気ないし少し不親切になるかもですがそこはご勘弁を🙏)

何が起きた?

テーブル受注リストに住所2という項目があり、その値を使って送り状テーブルにデータを作成することを行っているのですが、受注リストの住所2は”5−8”と表示されているのに、送り状の方では”45420”と登録されていました。

送り状作成の方法

AppSheetのアクションのData:add a new row・・・を利用

考えたこと

5-8 と 45420>>>>>なにか見覚えがある!

エクセルやスプレッドで結構見る方も多いのではないでしょうか?
なぞの45・・・。ピンと来た方はかなりエクセルとスプレッドで経験を積まれてかつ修羅場を乗り越えてきた方々かと思います(笑)

そうです、日付をスプレッドがTEXT(文字)に勝手に変換したときに出てくる数字です。

調べてみたら

これは受注リストの値が怪しいと思いスプレッドを見たところ・・・表示は5-8となっていましたが、実際の値は”2024/05/08”となっていました。Oh

対策

スプレッドの列の型を変更

”自動”を”書式なしテキスト”に変更しました。(これだけです)

そうすると、値自体も5-8になりました。

この後に再度送り状データの作成を行ったところ無事に5−8が登録されました。
※スプレッドの定義を変えた後にAppSheet側での同期(右上にあるボタン)を行わないとAppSheet側にはまだ”2024/05/08”が残っていますので必ず同期を行なってくださいね。

そもそもなぜ”2024/05/08”が入ったのか?

普通にAppSheetから5-8と入力するとちゃんとスプレッドにも"5-8"と登録されます。今回の場合は他のアプリで入力した住所2(=5−8)をスプレッドに連携していました。その際にスプレッドが5−8を見て自動的に”こいつは日付だな!”と判断したようです。

教訓

  • AppSheet以外からスプレッドにデータを連携させる場合、特に”自動”となっている場合はスプレッドの型にも注意が必要

  • データ連携元でデータ型を明示するのが基本。できない場合は先頭に’をつけるなど試してみるのも価値あり



よろしければサポートお願いします! いただいたサポートはクリエイターとしての活動費に使わせていただきます!