web-dev-qa-db-ja.com

Excel-水平セル参照の連続性を維持しながら数式を下にドラッグする方法

私はいくつかの数式とグーグル検索を試しましたが、私の問題に役立つ何かを見つけることができませんでした。添付の図で説明されているように、簡単にするために、数式で水平方向のセル参照を継続しながら、数式を垂直方向に下にドラッグする方法

screenshot here

図のように-数式の垂直方向-緑の矢印、水平のセルをたどる-オレンジの矢印。

万人ありがとう!

3
Tanukiarecool

セルA1からのセルオフセットを指定するには、OFFSET関数を使用できます。数式が下向きにコピーされている場合でも、これは水平オフセットになる可能性があります。たとえば、スクリーンショットのセルB2に挿入された次の数式は、下にコピーされると右にオフセットされます(オフセット値として列Aの数値を使用します)。

=OFFSET($A$1, 0, A2)
2
bdr9

あなたが説明していることは、固定したいアドレスの部分(行および/または列)を$でプレフィックスすることによって固定することによって行われます。したがって、数式を下にドラッグして次のセルを=A3-B1にしたい場合は、B列の行1の参照を修正します。B2セルの数式を=A2-B$1にします。同じ列で下にドラッグすると、A2参照は増加しますが、B1参照は増加しません。

ドラッグして、右側の次のセルに=A2-C1が含まれるようにする場合は、ロックする列Aの参照です。最初のセルの数式は=$A2-B1になります。

この方法でテーブル全体にデータを入力するために水平方向と垂直方向の両方にドラッグする場合、最初のセルは=$A2-B$1になります。 horizo​​ntallyを移動すると、変化するのは列Bの参照だけです。 verticallyを移動すると、変更されるのは行2の参照だけです。

1
fixer1234

インデックスを使用した不揮発性の提案:

_=A2-INDEX($1:$1,ROW(A2))
_

オフセットは揮発性であり、セルが変更されるたびにワークブック全体が再計算されます。これにより、多くの数式を含む大きなファイルが遅くなる可能性があります。

説明(説明の要求後):

最初の行には、2番目の列である列Bから始まるデータがあります。上記のIndex()関数は、行1全体を調べ、2番目の列をポイントします。これは、関数Row(A2)が値_2_を返すためです。

数式が下にドラッグされると、Row(A2)ビットがRow(A3)に変わり、数値_3_が返されるため、Indexは行1の3番目の列を返します。

このシナリオを別の設定に調整するには、セットアップを検査する必要があります。行1のどの列に最初のデータ値がありますか? 2番目、3番目、またはn番目の列?

最初の値を持つ列番号は、Row()関数の参照の数値部分に必要なものです。データが列2から始まる場合は、Row(A2)になります。データが列7で始まる場合は、Row(A7)である必要があります。次に、下にドラッグして、Excelに相対参照を調整させます。

重要な点は、開始番号を正しく取得することです。

0
teylyn