dポイントプレゼントキャンペーン実施中!

Win10でOffice2019を使用しています

別シートの各セルそれぞれの比率を計算したいのです。
まず、
=A1/'別シート'!A1と入力したのですが、式を変更できない人も入力できるように
C1に別シート名を入れるようにし、
=A1/INDIRECT("'"&$C$1&"'!A1") と変更したのですが、このまま下へコピーすると
=A2/INDIRECT("'"&$C$1&"'!A1") となり、文字列であるため最後のA1部分が変わりません
=A2/'別シート'!A2 と結果が同じになるようあれこれ試してみたんですがよく分からなくなってしまいました。
何か良い方法はないでしょうか?

A 回答 (4件)

こんにちは



INDIRECT関数で、オートフィル時に参照セル位置が移動するようにしたいという意味と解釈しました。

 =A1/INDIRECT($C$1&"!"&CELL("address",A1))
ではいかがでしょうか?
    • good
    • 0
この回答へのお礼

分かり難い説明の意味を組んで下さりありがとうございます。
まさに、考えていた通りの事が出来ました!
CELL関数存じ上げませんでしたが、覚えておくと他にも色々で来そうですね。ありがとうございました。

お礼日時:2023/08/05 16:42

>文字列であるため最後のA1部分が変わりません


””で囲ったものは文字としてしか認識しません、パソコンはその形だけしか認識しません、何の意味も待たないので当然なんです。
相対参照にしたいのなら、パソコンが認識可能な文字ではない、A1である必要があります
別シートで計算結果を表示したいセルをポイント、=を入力後そのままで計算したい数値が入力されているシートを開き、分子になる数値が入力されているセルをポイント(この操作で別シート名も自動で入力されます)、徐算記号の / を入力後、分母となる数値が入力されているセルをポイント(シート名自動入力)、エンターキーで完了
相対参照のままで計算結果が出力されます。
それをコピーすれば相対参照のままなので参照先が相対的に変化します。
多くの場合は分母が特定のセルの場合が多いので、相対参照では困りますね。
コピーする前に、その項目は絶対参照にする必要があります
例 参照先がA1の場合下の行にのみコピーの時は A$1、左右にコピーもあり得るなら$A$1、とします。
$A$1、の場合はどのセルにコピーしても参照先はA1になります、これが絶対参照。
四捨五入その他の関数を利用する場合は、= の代わりに関数を入力その後、上の容量で参照セルを入力します。
そもそもINDIRECTを使ったのが間違いです、文字列を参照検索する関数です、参照の値に”A1”では、パソコンはA列1行、という認識はしません。
文字としての「A1」を参照・検索します、相対参照なんてあり得ませんね。
    • good
    • 0
この回答へのお礼

まだまだ分からないことだらけです・・・。
ご丁寧な解説ありがとうございました。

お礼日時:2023/08/07 13:13

No2です。



参照先がA列限定でも良ければ
 =A1/INDEX(INDIRECT($C$1&"!A:A"),ROW())
でも可能と思います。
    • good
    • 0
この回答へのお礼

なるほど!
この方法でも出来ますね。勉強になります。
ご回答ありがとうございます。

お礼日時:2023/08/07 13:08

それをC列に表示するならば、


C1=A1/'別シート'!A1
と入力し、それを引っ張ってコピーすれば、
C2=A2/'別シート'!A2
C3=A3/'別シート'!A3

となるはずですが。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました

お礼日時:2023/08/05 16:36

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