• 締切済み

スプレッドシートの検索と抽出

どなたか、ご教授お願いします。 ①シート①には画像のように重複しない漢字がある。(画像は左下の一部で実際は縦横200ほど漢字が在る) ②別シートでは、一致する漢字の左側セル2つ目の数字を抜き出す。(青いセルに打ち込んだら別シートにもその数字が抜き出される。) もちろん、シート①の海の下に、強制的に複数列を1列にしてindex matchする方法もあるのですが。 たとえば https://h1r0-style.net/excelvba/howto-merge-multi-columns-into-single/ この板にはすごい方がいるので何か知識があったら教えてもらいたいと思い掲示してみました。 よろしくお願いします。

みんなの回答

  • SPIKE-NLOS
  • ベストアンサー率33% (523/1547)
回答No.2

シート①には、縦横200ほど漢字があり、別シートでは、一致する漢字の左側セル2つ目の数字を抜き出すことができるようですね。シート①の海の下に、強制的に複数列を1列にしてindex matchする方法もあるようですが、別シートから値を参照するためには、『IMPORTRANGE』というスプレッドシートにしかない関数を使用する必要があります。また、QUERY関数を使用して条件に一致するデータをまとめることもできます²。ご参考になれば幸いです。

japanokwave
質問者

お礼

ありがとうございました。 =FILTER(FLATTEN('sheet'!A3:AY25),FLATTEN('sheet'!A3:AY25)<>"") で作業シートをつくり、列に変換しないとダメみたいですね。 その後に =INDEX('シート2'!A:A,MATCH(C2,'シート2'!A:A,0)-1,1)をはじめの目的セルに打ち込む。 と近況報告でした。

回答No.1

VBAで、任意のシートかセルを読み書きできれば、あとは文字列の比較なので簡単だと私は思った。VBA抜きでやる方が難しそうに感じた。

japanokwave
質問者

お礼

=FILTER(FLATTEN('sheet'!A3:AY25),FLATTEN('sheet'!A3:AY25)<>"") で作業シートをつくり、列に変換しないとダメみたいですね。 その後に =INDEX('シート2'!A:A,MATCH(C2,'シート2'!A:A,0)-1,1)をはじめの目的セルに打ち込む。 と近況報告でした。

関連するQ&A