
Googleスプレッドシートで作った用語集に、用語ピックアップ機能をつける(XLOOKUP関数)
自分用の用語集スプレッドシートを作りました
用語集シートを作った背景
AIの勢いがすごい(語彙力)この時代にwebエンジニアやっています。勉強することがたくさんあります。その勉強方法ですが、私の場合はとっかかりとして「分からない単語・知らない単語を調べまくる」ということをやります。単語・用語を調べたあとは、その意味を(なるべく自分の言葉で)書き留めます。こうして「見る」&「書く」で勉強しています。
書く媒体ですが、Googleスプレッドシートを使っています。別にExcelでもいいですが使用PCがmacのためGoogleスプレッドシートを使っています。

上の画像のように、知らなかった単語・用語の意味やら何やらを書き留めています。
用語集の困りごと
ところで、語の数が100や200ともなってくると、書いた中から探すのも大変になります。探すのが大変ということは、復習がし辛いということです。
任意の単語だけピックアップしてまとめたりできないものでしょうか。
XLOOKUP関数で解決します
「任意の数単語だけピックアップ」
そんな悩みを解決するのが「XLOOKUP関数」です。

左側の用語表の隣に、用語表から任意の語をピックアップする箇所を作りました。
F2セルに、欲しい語を入力します。G2セルにXLOOKUP関数が設定してあります。式は
=XLOOKUP(F2,A:A,D:D,"-")
です。
意味は、「F2の値をA列の中から探し、見つかったらその行かつD列にある値を返す、見つからなかったら"-"を返す」という感じです。わかりにくいですね。今度はF3セルの例を流れで見てみましょう
F3セルに「チケット」が入る。
G3セルは、F3セルの値すなわち「チケット」をA列の中から探す。その結果A13セルにあるとわかった。
A13セルの行、すなわち行13のD列の値、D13セルの値が検索の結果返ってくる値になる。
G3セルには、D13セルに書いてある「チケット」という用語の意味が挿入された。
このようにして、表の中からほしい用語の意味をピックアップしてくることに成功しました。
この機能の意義
用語調べをするときは、あんまりその後のことを考えず、どんどん書き込みたいものです。分類を細かくするとか、タグのような属性を複数設定するとかは、作業が多くなってしまいやる気が削がれます。
このXLOOKUPによるピックアップを行うことで、書くときはざくざくと最小限のことを書き込み、かつ用語の復習や活用も簡単になります。
動作風景

以上です
蛇足・思い出話
XでもVでもHでもいいんですけどLOOKUP系の関数って使いどころ思いつくのに時間がかかるんですよね。機能も言われてすぐにはちょっとよくわからないですし。
自分がちゃんと使ったのはこれが2度目でした。1回目はけっこう派手に使いました。
XLOOKUPで拾ってきた値を、またXLOOKUPで条件にして探しに行く……っていうのをどんどんつなげたんですよね。
どういうデータだったかというと、ある期間に実施したタスクの集まり的なデータです。
固有の番号でタスク管理されていて、タスクは「前回のタスクのタスク番号」っていうデータを持っていると。前回のタスクの内容や設定を引き継いでタスクが作られる的な感じです。
なんですが、システム側で、タスクの繋がりというか系譜というかタスクツリーみたいなものを出してくれなかったと。なので、あるタスクが「過去からずっと引きずっているもの」なのか、「最近ポッと出のタスク」なのかがわからないと。それが割と困るっていう状況でした。
なので、タスク番号を条件に、そのタスク番号の前回タスク番号を探してくる。その前回タスク番号を条件に、前回タスクの前回タスク番号を探す。その前回タスクの前回タスク番号を条件に、前回タスクの前回タスクの前回タスク番号……って感じで延々遡って行きました。
過去数年分、量にしてざっと4万件ぐらい。
よく知らないけどこんなんプログラム組んだ方が絶対早いじゃんね……と思いながら、関数を設定してはオートフィル、関数を設定してはオートフィルを繰り返していました。22時ひとりのオフィスが懐かしいですね。
ぶっちゃけ、LOOKUPの用途としては今回みたいな「ピックアップ」の方が正しいと思います。やっとただしい使い方できた。
以上です。
いいなと思ったら応援しよう!
