- ベストアンサー
関数の連続コピーのしかた
初めまして、よろしくお願いします。 関数式 =IF(Sheet1!H1=Sheet1!C1,Sheet1!D1,"") をINDEX またはINDIRECT で指定位置がセルの挿入されてもH1、C1、D1の位置を変更しないように変え、ROW(この関数か?)で変えた関数式をマウスでドラックして下に連続してコピーされていくようになおしたいのですが、どなたかよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>下に連続してコピーされていくようになおしたいのですが 質問がよく分かりませんが、式をコピーした二行目は =IF(Sheet1!H2=Sheet1!C2,Sheet1!D2,"") になればよいのですか? 1行目の式は =IF(INDIRECT("Sheet1!H"&ROW(A1))=INDIRECT("Sheet1!C"&ROW(A1)),INDIRECT("Sheet1!D"&ROW(A1)),"") で良いと思います。これなら下方向にコピーすれば参照する行も変わりますし、Sheet1に行挿入しても参照位置は変わりません
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17070)
昨日も似た関連の質問をした、おなじ方ですね。私はそこで =INDIRECT("Sheet1!A3") のように""で囲んで、定数として書き込めば、式を入れているセルより、上部行の「行「挿入」「削除」に影響なかろうと答えました。 ーー それを列全体に設定するには =INDIRECT("Sheet1!A3") =INDIRECT("Sheet1!A4") =INDIRECT("Sheet1!A5") ・・ と変化させねばならないが、これを式の複写でやれないかということだと思います。 -- ””で囲んだ上記例以外の、 A3 や $a$3 は行の挿入でどちらも 3の部分が増減します(これで普通は好都合です。質問のケースが特殊です。)。ここを他の何かに置き換えても行に関係付けたものは変化してしまいます。 ーー VBAでやるしかありません。 あきらめてください。 ーー とりあえずの結論ですか、「できる」というご回答が出れば、私は大恥かきますが、出れば、私も勉強「になるので、期待してます。 まあしかし、出ないような気がするが。
お礼
回答ありがとうございます。何とかこちらで右往左往してみたいと思います。
- misaki____
- ベストアンサー率21% (40/182)
=IF(Sheet1!$H$1=Sheet1!$C$1,Sheet1!$D$1,"")
お礼
回答ありがとうございました。 連続してのコピーがうまくいきませんでしたが、参考にさせて頂きたいと思います。
お礼
回答ありがとうございます。大変満足する結果になりました、助かりました。