アプリ版:「スタンプのみでお礼する」機能のリリースについて

任意のセルの値を元に検索をして、合致した別のシートのセルの隣のセルの内容を結合して一つのセルに入力させる方法を教えて下さい。



Aのシートには既に以下のような内容が入っています
番号 内容
1 A青森
1 B岩手
1 C秋田
2 A山形
2 B宮城
2 C福島

Bのシートには番号だけを振り
この番号を元に検索をして、Aのシート内の内容を取得し結合したものを
Bのシートの内容の項目に自動で入力できるようにしたいです。

Bのシート
番号 内容
1 A青森 / B岩手 / C秋田
2 A山形 / B宮城 / C福島

少し調べてみたのですが、通常excelでは範囲を指定しての結合は出来ないようですね。
検索したら出てきた方法で、VBAを使っての範囲の結合は出来るようになりました。
そこまでは良かったのですが、条件に合致した範囲を自動的に結合する方法は見つけることが出来ませんでした。

検索条件の範囲を記述する事は出来たのですが、それを結合の関数に反映させる事が出来なかったのです。
このような式です。
="A!"&ADRESS(MATCH(A2,A!A:A,0),2,4)&":"&"B"&MATCH(A2,A!A:A,0)+(COUNTIF(A!AA,B!A2))-1
Aのシートで最初に合致したセル番地を取得し、結合させる範囲の終わりは、最初に条件に合致したセルの行番号+(条件に合致した個数-1)
としています。
この式で出力される値はA!B2:B4となり、この値を直接結合用の関数の中に入力すると問題なく結合された結果が表示されます。
しかし、結合用の関数の中に上の式を入れた場合や、その結果が表示されているセルを指定しても#VALUEとなったり、A!B2:B4が表示されるだけです。
当然と言えば当然なのかもしれませんが。。

何か解決方法をご存知のかた、お教え下さい。

A 回答 (1件)

INDIRECT関数で範囲を指定してはどうか。


ADDRESS関数でエラーになるなら、指定方法が適切でないと思われる。
ならば他の手段で範囲を指定することを考えてみよう。
…するとINDIRECT関数になるのではないだろうか…
    • good
    • 0
この回答へのお礼

ありがとうございます。
INDIRECT関数なんていう便利なものがあるのですね。
無事に解決しました!

お礼日時:2016/01/26 13:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!