秘密基地、どこに作った?

先に質問して下記のように最適な回答を得たのですが、その後表を確認すると離れた行にもデータがあることがわかりました。その行を追加したのですが、うまくいきません。
行はB49:B51とD49:D51です。

戴いた回答です。詳細は図を参照してください。
=INDEX($B$29:$B$36,MATCH($A17,D$29:D$36,0),1,1)

これにB49:B51とD49:D51を追加したいのです。

また、D$29:D$36とこれから追加するD49:D51にデータがないときには#####マークの#N/Aが表示されるのでこれを消したいのですが。よろしくお願いします。

下記は先の質問内容です。
教えてください。
下表を作っています。
表(1)と表(2)は同一シート内にあるのを説明用に切り抜いています。表は場所毎に担当を毎日割り振りしたものです。表(2)にはプルダウンリストで入力しておりますが、表(1)には表(2)から場所を参照して、その時の担当を表示するように考えていますが、どうしても記述がわかりません。どなたか詳しい方教えてください。よろしくお願いします。

「Excel 2010 離れた行の範囲を指」の質問画像

A 回答 (4件)

No.1・3です。



空白の場合のエラー処理の件ですが・・・

前回の数式内の
=IF(COUNTIF(D$29:D$36,$A17),INDEX($B$29:$B$36,MATCH($A17,D$29:D$36,0)),IF(COUNTIF(D$49:D$51,$A17),INDEX($B$49:$B$51,MATCH($A17,D$49:D$51,0)),""))

IF関数の中で処理しています。
数式の流れを説明すると
(1)IF(COUNTIF(D$29:D$36,$A17)
COUNTIF関数で
D29:D36の範囲にA17があれば(0以外の場合は「TRUE」=「真」となります。)
INDEX($B$29:$B$36,MATCH($A17,D$29:D$36,0))
の数式

(2)(1)が「FALSE」(偽)の場合
IF(COUNTIF(D$49:D$51,$A17)
D49:D51の範囲にA17があれば(「TRUE」の場合)
INDEX($B$49:$B$51,MATCH($A17,D$49:D$51,0))
の数式

(3)(2)がFALSE「偽」 → すなわち(1)・(2)とも「偽」の場合は
最後の「,""」
「空白」に!という流れとなります。

※ 上記の数式を「複合参照」しています。 ← 絶対参照・相対参照 等で検索してみてください。
「$」マークの位置に注意してください。

※ 本来オートフィルで数式をコピーする場合などは「セル結合」がない方が好ましいのですが、
今回は2行ずつセルを結合しているようなので、No.1で書いたように
2行ずつ範囲指定してのオートフィルとしています。
(結合してあるセル番地は結合セルの最初のセル番地となります)

こんなんで参考になりますかね?m(_ _)m

この回答への補足

ご丁寧に解説いただきましてありがとうございました。ここに何回か質問して皆様の協力で少しずつですが知識を取得しております。これからもよろしくお願いします。

補足日時:2012/10/27 11:31
    • good
    • 0
この回答へのお礼

協力感謝します。ありがとうございました。今後もよろしくお願いします。

お礼日時:2012/10/27 11:33

No.1です。



>B48~AH48
>には関係ないデータが入っていまして、そのデータを取得すると重複してしまいます

とありますので、地道にIF関数のネストで!

D17セルに

=IF(COUNTIF(D$29:D$36,$A17),INDEX($B$29:$B$36,MATCH($A17,D$29:D$36,0)),IF(COUNTIF(D$49:D$51,$A17),INDEX($B$49:$B$51,MATCH($A17,D$49:D$51,0)),""))

という数式を入れオートフィルの方法は前回同様にしてみてください。

今度はご希望通りになればよいのですが・・・m(_ _)m

この回答への補足

ありがとうございました。バッチリです。ところで、担当欄(表(2))に何も入力されていないと出るエラー(#N/A)防止はどの部分にあたるのでしょうか。よろしくお願いします。

補足日時:2012/10/27 06:06
    • good
    • 0
この回答へのお礼

ありがとうございました。今後もよろしくお願いします。

お礼日時:2012/10/27 11:33

D17セルには次の式を入力して右横方向にドラッグコピーしたのちに下方の23行目まで下方にドラッグコピーします。



=IF($A17="","",IF(COUNTIF(D$29:D$36,$A17),INDEX($B$29:$B$36,MATCH($A17,D$29:D$36,0)),IF(COUNTIF(D$49:D$51,$A17),INDEX($B$49:$B$51,MATCH($A17,D$49:D$51,0)),"")))

この回答への補足

ありがとうございました。
バッチリです。ところで、担当欄(表(2))に何も入力されていないと出るエラー(#N/A)防止はどの部分にあたるのでしょうか。よろしくお願いします。

補足日時:2012/10/27 06:07
    • good
    • 0

こんにちは!



>これにB49:B51とD49:D51を追加したいのです

とありますが、単に行範囲を51行目まで広げてはダメですか?

D17セルに
=IFERROR(INDEX($B$29:$B$51,MATCH($A17,D$29:D$51,0)),"")
という数式を入れ、D17・D18セルを範囲指定 → D18セルのフィルハンドルで下へ2行ずつオートフィルでコピー!
そのまま列方向へオートフィルでコピーではどうでしょうか?m(_ _)m

この回答への補足

回答ありがとうございます。
B38~AH38

B48~AH48
には関係ないデータが入っていまして、そのデータを取得すると重複してしまいます。方法はないものでしょうか。

補足日時:2012/10/26 17:34
    • good
    • 0

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


おすすめ情報