#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|

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS