2024/09/30 このエントリーをはてなブックマークに追加 はてなブックマーク - VLOOKUPをしたくない人生だった

VLOOKUPをしたくない人生だった

カテゴリ:

VLOOKUPをしたくない人生だったのですが、色々ワケあってスプレッドシートを使うこともあるので そんな時に覚えておくと便利な関数でも書いておきます。スプレッドシートは関数型言語です

QUERY

SQLのように色々かけます

=QUERY(
'Sheet1'!A:Z,
"SELECT A, B, C, D, E WHERE A = 'ドラえもん'"
)

WHERE とかGROUP BYとかORDER BYとかLIMIT 1とかできます
JOINをやろうとすると出来ないので爆発します

FILTER

FILTER関数を使うと特定の条件のものを除外した結果を返してくれます。スプレッドシートでフィルタ機能つかっても誰かが勝手にいじって絞り込みがいつの間にか変わってたやんウギャーとかならずに済みます

IMPORTRANGE

別のスプレッドシートからデータを引っ張ってくることができます とあるスプレッドシートと同じデータを使いまわしたい場合や とあるスプレッドシートの内容を確認したいけど直接いじりたくない時とかに便利です


=IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxx", sheet1!A:Z)

UNIQUE

重複を排除します。これもデータクリーンアップで特定行で重複排除みたいなことをイチイチやらずに関数の組み合わせをしたいときなどに便利です

=UNIQUE(A:A)

ARRAYFORMULA

もう、関数を行数分コピペするなんて嫌なんやという時に便利です。

=ARRAYFORMULA(IF(A:A<>  "",  "空ではない","空"))

組み合わせると

組み合わせると、こんな感じになんやかんやできます。
A列がユニークなidだとして

  • Sheet1のA列の空文字でないところに絞り込み
  • 重複を排除したデータをキーとしてVLOOKUP
  • 対象のデータ範囲の1,2,3,4,5,6,7番目を列に展開
=ARRAYFORMULA(
  VLOOKUP(
    UNIQUE(FILTER('Sheet1'!A:A,  'Sheet1'!A:A  <>  ""))
    ,'Sheet1'!$A:$Z,  {1,2,3,4,5,6,7}
    ,FALSE
  )
)

まとめ

ということで関数型言語、スプレッドシートのお話でした!
でも、やりすぎると関数のネストが深くなって秘伝のタレ化します なにごとも程々にするのがよいですね
そもそもの、元々のデータを綺麗にしてエクセルワーク的なのは減らしたいですね

2024/09/19 このエントリーをはてなブックマークに追加 はてなブックマーク - git diffを一番綺麗に出来た人選手権を開催します

git diffを一番綺麗に出来た人選手権を開催します

カテゴリ:

まぁ、僕あのSNSで謎に選手権開くスタイルあんまり好きではないんですけどね

git diffした時にいい感じに表示するようなライブラリを探しています (tigとかlazygitとかTUIも良いんだけど、単純にgit diffをいい感じにするやつを募集しています) 5つ、いいなぁと思うライブラリを紹介します。 ※ちなみに以下は、ChatGPTとかに紹介文章作ってもらいました

1. delta

https://github.com/dandavison/delta Gitの差分出力を美しく色分けして表示するツール。行の追加・削除を強調し、カスタマイズ性が高いのが特徴。CLIで簡単に設定可能で、直感的に使える。

2. diffstatic

https://github.com/Wilfred/difftastic 静的な差分表示を目的としたツールで、シンプルなインターフェースが特徴。シンタックスハイライトを提供し、変更点をわかりやすく強調。使いやすさが魅力で、視覚的な比較ができる。

3. bat

https://github.com/sharkdp/bat#git-diff ファイルビューアで、シンタックスハイライト機能を持っている。git diffの出力を視覚的に整形して表示でき、使いやすさが特徴です。強力なページング機能も搭載している。

4. diff-so-fancy

https://github.com/so-fancy/diff-so-fancy git diffの出力を整形し、変更点を視覚的にわかりやすくするツール。変更が一目でわかるように強調表示し、カスタマイズが可能。シンプルで直感的な使い勝手が魅力。

5. pretty-diff

https://github.com/prettydiff/prettydiff コードやテキストの差分を視覚的に表示するためのツールで、シンタックスハイライトもサポート。ブラウザベースのインターフェースが特徴で、柔軟にカスタマイズ可能。多様なフォーマットに対応しており、使い勝手が良い。

まとめ

いい感じだなーってやつを並べて紹介してみました。 これら以外に「これはいいぞ!」というのを募集中

GA