2020年5月11日月曜日

ユニークリストを作成しよう

CSVの取り込みができたところで次はそれぞれのユニークリストを作成したい。
合わせて並べ替えをしたいので次のようにします。

=SORT(UNIQUE(テーブル[**],,FALSE),,1)

Columnが増えることを想定して[**]はCSVから取得するようにしました。
VBAでセルに対して上記内容を入れた時に困ったことが発生。
本来であればスピルを利用したいのですが、勝手に「@」がついて

=@SORT(UNIQUE(テーブル[**],,FALSE),,1)

となってしまう。
回避策の検討が必要ですね。

セルを指定するとき、
Cells(1, i).Formula2
が正解で理想通りになりました。基礎知識が足りないとこのあたりで苦労するのでしょう。
一応マクロの記録でも見比べていたのですが、この2の意味が分からず消していたのが原因でした。

■課題
個々のユニークリストは作成できたとして、
きっとすべてまとめたユニークリストが必要になると思う。
この時、値化すれば再現はできるが読み直しへの対応が難しい。


■寄り道
試行錯誤しているとき、UNIQUEの配列に当たる部分に「&とか+」を入れてみたら影響した。
なのでデータを組み合わせてオリジナルのユニークリストを作ることも可能ということが分かりました。
_________________________________________________________
data1
日時:yyyy/mm/dd hh:mm:ss
日付:yyyy/mm/dd
時間:hh:mm:ss

=SORT(UNIQUE(data1[日時],,FALSE),,1)
=SORT(UNIQUE(TEXT(data1[日付],"yyyy/mm/dd")&" "&TEXT(data1[時間],"hh:mm:ss"),,FALSE),,1)
_________________________________________________________
※何に使うかはあなた次第!
 1列に格納するなら表示形式を指定すればよいのですが、
 合体させるなら事前にTEXTで指定しないと数字がいっぱい入ります。

0 件のコメント:

コメントを投稿

VBAでCSVに出力する。 ~ログの残し方~

今回はCSVデータとして一か所にそれぞれのユーザーID名で保存するようにしたいと思います。 重複することは無いでしょうし、一か所のフォルダにまとめて置けば 人が複数人いてもまとめてデータの取得ができるのではないかということで。 ■やりたいこと 「CSVに出力する」 ...