![あるセルから上のセルに計算をする方法](https://rvso.com/image/1525444/%E3%81%82%E3%82%8B%E3%82%BB%E3%83%AB%E3%81%8B%E3%82%89%E4%B8%8A%E3%81%AE%E3%82%BB%E3%83%AB%E3%81%AB%E8%A8%88%E7%AE%97%E3%82%92%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
現在、一番右の「X」セルを取得するマクロを設定しており、Excel がその列番号を通知し、それがセルに入力されます。
このセルの結果を使用して、指定された行に沿って Excel でカウントし、指定された番号を使用して、このセルに情報を (日付として) 表示する方法を教えてください。
画像の例では、Excel の R1C1 書式を設定しています。15,15 の数字は 13,6 の X を表し、13 番目の列にあるため 13 になります。Excel で 13,1 が最も右端の X を参照する日付であることを自動的に計算し、この日付を DATE というラベルのセルに出力するようにしたいと思います。
その後、他の行にも同じ方法を使用する必要がありますが、誰かが助けてくれる場合は、同じ結果を適用できることを期待しています。
答え1
最も簡単な方法はおそらく間接的な方法を使用することです。
=INDIRECT("R1C"&R15C15)
答え2
まず、結合されたセルを削除し、代わりに行の高さと列の幅を増やす必要があります。データは 6 行と 16 列のみになります。
列 16、行 10 (16,10) のセルに次の数式を記述します。
=INDEX(R[-9]C[-14]:R[-9]C,1,MAX(IF(R[-6]C[-14]:R[-6]C="X",COLUMN(R[-6]C[-14]:R[-6]C),0)-1))
Ctrl配列数式は、 + Shift+ をEnter同時に押す必要があります。
この数式は、データ内の数字3用です。
数式は、行の最後のXに対応する最大列を見つけます。
最も古い日付が書き込まれ、最も近い
最大値は、行のXに対応する最も近い日付を見つけます。
インデックスは、最初の行の日付を返します。
次の行に対応するように変更する必要があります。
通常の参照 A1 には以下を使用できます。
=INDEX($B$1:$P$1,1,MAX(IF($B$4:$P$4="X",COLUMN($B$4:$P$4),0)-1))
B1:P1は日付行、
B4:P4はXがある行
、そしてもちろん配列数式ではCtrl+ Shift+をEnter同時に押す必要があります