%20%E3%81%AB%E5%90%8D%E5%89%8D%E3%82%92%E4%BB%98%E3%81%91%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F.png)
次の Excel ワークシートを検討してください。
| ... | H | I | J
--+-----+--------+------+-----
1 | ... | obsDay | obs3 | obs4 ...etc
--+-----+--------+------+-----
2 | ... | 3 | |
--+-----+--------+------+-----
3 | ... | 4 | |
--+-----+--------+------+-----
4 | ... | 8 | |
--+-----+--------+------+-----
A2
にはA148
147個のobsDay
値があります。各値ごとに別の列を作成する必要があります。セルの値B1
とC1' are respcetively there because of the formulas
="obs"&A2 and
="obs"&A3`
私の質問は、数式を他の 145 列すべてにドラッグできないということです。 の数式をB1
右にドラッグすると、基礎となる数式 とともにC1
値 が取得されます。 列 a を次のように修正できることはわかっていますが、それを右にドラッグすると、値 'obs3' も取得されます (基礎となる数式あり)。 にする必要がある場合は、、などになります。obs
="obs"&B2
="obs"&$A2
C2
="obs"&$A2
="obs"&$A3
="obs"&$A4
="obs"&$A5
何が間違っているのでしょうか?
答え1
あなたは調べたことがありますか?間接()式は?それを使えば、次のようなものを書くことができます
="obs"&INDIRECT("A"&COLUMN(A1)+1)
セル B1 に入力し、右にコピーします。おそらくもっと効率的な方法があるでしょうが、これで十分でしょう。
答え2
データの読み取りを横方向に変換するには、オフセットを使用します。
=OFFSET(Anchor_Cell,COLUMN(),0)
これは現在の列を取得し、オフセットを使用して、それをアンカーセルから下に行く行数に変換します。必要に応じて
、その数を加算または減算します。COLUMN()