質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%

Q&A

2回答

1057閲覧

【大至急お願いします】エクセルで文字列を結合した上で関数として処理したい

fuusuke

総合スコア12

0グッド

0クリップ

投稿2018/10/21 19:35

編集2018/10/21 19:44

エクセル超初心者なのですが、大至急教えていただけると助かります。

VLOOKUPで以下のような関数を何千行も入力したいです。

=VLOOKUP(AG6,work!A1:B14,2,FALSE)
=VLOOKUP(AG7,work!A15:B28,2,FALSE)
=VLOOKUP(AG8,work!A29:B42,2,FALSE)

ただし、範囲がA1:B14、A15:B28、A29:B42・・・と不規則なため、
単純コピーができません。

そのため、CONCATによる文字列の結合がよいかと考えています。
=CONCAT(AJ6,AK6,AL6,AM6,AN6,AO6,AP6,AQ6,AR6,AS6,AT6,AU6)
※複数のセルに要素を入力したものを文字列として結合する。

ただしこうした場合、
セルにはVLOOKUP(AG6,work!A1:B14,2,FALSE)という文字列として
認識されてしまいます。

これを数式に、つまり、=VLOOKUP(AG6,work!A1:B14,2,FALSE)にするには
どうしたらよいでしょうか?

そもそも前処理としてCONCATじゃ無理だよとかあれば、
そちらも教えていただきたいです。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kamikazelight

2018/11/08 04:36

回答してくださっている方がいるのに 返信が無いのは 解決したからでしょうか?解決しているようでしたら解決済みにしたほうがいいと思います。
guest

回答2

0

「不規則」と書いてますが、14行ずつという規則性はありますよね。
であるなら、次のような感じでいけないでしょうか。

=VLOOKUP(AG6,INDIRECT("work!" & ADDRESS((ROW()-1)*14+1,1) & ":" & ADDRESS(ROW()*14,2)),2,FALSE)

あとはコピペで。

投稿2018/10/22 01:31

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

"="もくっつけて、後は手動でコピー&ペースト

投稿2018/10/21 21:37

hichon

総合スコア5737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問