#author("2024-12-13T10:48:29+09:00","default:ogiwiki","ogiwiki") #author("2024-12-13T11:49:22+09:00","default:ogiwiki","ogiwiki") [[授業資料]] *Excel:XLOOKUP関数の使い方 [#x19b38dd] [[MS Officeリファレンス XLOOKUP 関数>https://support.microsoft.com/ja-jp/office/xlookup-%E9%96%A2%E6%95%B0-b7fd680e-6d10-43e6-84f9-88eae8bf5929]] -[[Excel XLOOKUP 関数の使い方早わかり解説 >https://www.microsoft.com/ja-jp/biz/smb/column-excel-xlookup]] =XLOOKUP(検索値, 検索範囲, 戻り配列, [見つからない場合], [一致モード], [検索モード]) -※以前は[[VLOOKUP関数>https://support.microsoft.com/ja-jp/office/vlookup-%E9%96%A2%E6%95%B0-0bbc8083-26fe-4963-8ab8-93a18ad188a1]]が一般的でした[[授業資料/VLOOKUP関数]]。 **例1:形容詞の意義分類別の集計 [#q2371912] -用例の表に、別途用意した「意義分類表」の値を参照して入力する ***Sheet1 用例の表 [#a0597354] 割合+が+形容詞 の検索結果 -G列が「語彙素」 ***Sheet2 意義分類表 [#s03f8745] |形容詞(語彙素)|基準|プラスマイナス|h |高い|高低|プラス| |低い|高低|マイナス| |多い|多少|プラス| |少ない|多少|マイナス| |大きい|大小|プラス| |小さい|大小|マイナス| ***Sheet1 で参照 [#f449413c] -基準 =XLOOKUP(G2,Sheet2!$A$2:$A$7,Sheet2!$B$2:$B$7,"ー") -プラスマイナス =XLOOKUP(G2,Sheet2!$A$2:$A7,Sheet2!$C$2:$C$7,"ー") --どの行からSheet2を参照する場合も検索する範囲は固定なので、$A$2:$C$7のようにセルの指定に''$を付けて絶対参照に''する。 **例2:「~てしまう」の用例検索結果を上接動詞の語彙素と「しまう」の活用形で集計するには [#yeb921f0] ほしい表のイメージ(たとえば「読んでしまわ(ない)」を[読む/未然]として集計) |動詞|未然|連用|終止|連体|…|h |読む|1|10|3|2|…| |書く|2|8|0|4|…| |見る|2|11|5|4|…| |:|:|:|:|:|…| 方法:上接動詞をキーとした用例の表で、2語後に来る語の活用形を含む表をXLOOKUPで参照して入力する -「サンプルID」と「連番((サンプル中の語の位置、10きざみ))」をつかって別の表を参照する -「サンプルID」と「連番」を結合して用例位置が一意に決まる列(位置情報)を用意しておく ***Sheet1 上接動詞をキーとした用例の表 [#tf84ce42] 「(動詞)てしまう」の検索結果、キーは上接動詞 キー: 品詞 LIKE "動詞%" AND 後方共起: 語彙素="て" ON 1 WORDS FROM キー AND 後方共起: 語彙素="仕舞う" ON 2 WORDS FROM キー -位置情報 C2: =A2&"-"&B2 ***Sheet2 「しまう」をキーとした用例の表 [#i97c5abe] 「(動詞)てしまう」の検索結果、キーは「しまう」 キー: 語彙素="仕舞う" AND 前方共起: 品詞 LIKE "動詞%" ON 2 WORDS FROM キー AND 前方共起: 語彙素="て" ON 1 WORDS FROM キー -位置情報(活用形のひとつ左の列に入れておく): =A2&"-"&(B2-20) --この表の「連番」はSheet 1の連番+20(2語あと)になるので-20する ***ほしい表を作るには [#w7893478] -Sheet1でSheet2を参照 シマウ活用形 =XLOOKUP(C2,Sheet2!位置情報の列,Sheet2!活用形が入っている列) -ピボットテーブルで集計 **例3:分類語彙表の意味分類を取得 [#e140a7de] -分類語彙表 https://ccd.ninjal.ac.jp/goihyo.html -分類語彙表番号-UniDic 語彙素番号対応表[[wlsp2unidic>https://github.com/masayu-a/wlsp2unidic]] --語彙素IDでコーパス(中納言)の検索結果の関連付けできる -注意 --VLOOKUPで取得する場合、多義語は先頭の分類語彙表番号になる --分類語彙表に載っていなくて番号がつかないものもある(見出し語サイズの違いもある=分類語彙表は短単位ではない) ***手順 [#v5ba89cc] ++[[分類語彙表のデータ(BunruiNo_LemmaID)をダウンロード>https://github.com/masayu-a/WLSP2UniDic/raw/refs/heads/master/BunruiNo_LemmaID.txt]] ++分類語彙表のデータ(BunruiNo_LemmaID)をExcelで読み込む(テキストインポートウィザードから) +++VLOOKUPで参照できるようにBunruiNoとLemmaIDの列順を入れ替えて左にLemmaIDが来るようにしておく //+++VLOOKUPで参照できるようにBunruiNoとLemmaIDの列順を入れ替えて左にLemmaIDが来るようにしておく ++中納言での検索結果を開く ++中納言での検索結果の隣のシートにBunruiNo_LemmaIDをシートごとコピーしておく ++中納言での検索結果のシートから語彙素IDを使ってBunruiNo_LemmaIDを参照して分類語彙表番号の意味分類を取得 ++集計用に分類語彙表番号の意味分類を整える ***例:BCCWJ「可愛い」の次にくる名詞の意味分類 [#t44360b6] -検索条件式 キー: 品詞 LIKE "名詞%" AND 前方共起: 語彙素="可愛い" ON 1 WORDS FROM キー -関数 =XLOOKUP(<語彙素ID>,BunruiNo_LemmaID!$A$1:$A$65044,BunruiNo_LemmaID!$B$1:$B$65044,"対応なし") -意味分類での集計結果 --=MID(<分類語彙表番号>,8,7)で集計(100以上ある項目) |体-主体-人間|432| |体-主体-家族|282| |体-活動-心|200| |体-関係-事柄|194| |体-自然-動物|125| |体-生産物-衣|107| --体-主体-人間の内訳(5以上) |女の子|98| |子供|56| |娘|51| |人|43| |女|34| |赤ちゃん|30| |女性|30| |男の子|20| |坊や|11| |ベビー|5| |自分|5| |少女|5| --体-自然-動物の内訳(3以上)((アザラシなし)) |子猫|16| |猫|15| |子犬|15| |ペット|10| |兎|5| |熊|4| |黒猫|3| |河童|3| |小鳥|3| |愛犬|3|