我希望每隔一列插入一個新列大約260次,然後我需要填寫新列公式,它引用左側的立即列。這是我要插入一個新列:VBA Excel:插入一個新列,每隔n列填充一個公式,其中立即向左列提供
Sub insert_column_every_other()
For colx = 2 To 266 Step 2
Columns(colx).Insert Shift:=xlToRight
Next
End Sub
但我粘在公式,它只是將公式複製爲是。我需要的C3值變化和參考眼前列向左(其他部分可能不是100%我是新來的VBA所以所有的改正都讚賞):
Sub Repeat()
For ColNum = 3 To 2000 Step 2
Range(Cells(2, ColNum), Cells(21, ColNum)).FormulaR1C1 ="=AVERAGE(OFFSET(C3,1,0,2,1))"
Next ColNum
End Sub
在公式中將'C3'改爲'C [-1]'。也就是說,你的公式看起來很可疑。你想要它做什麼? –
在R1C1表示法中,'C3'與A1表示法中的'$ C:$ C'意思相同。當公式在列C中時,@ chrisneilsen的建議將生成等同於'B:B'的公式,當公式在列E中時'D:D'等等(但是正如Chris所說,當與一行結合時)但是如果你打算把'C3'表示單元格的左邊一列和放置公式的單元格下面一行的單元格,那麼你可以直接使用R1C1公式= = AVERAGE( R [2] C [-1]:R [3] C [-1])'並完全避免「OFFSET」。 – YowE3K
@chrisneilsen ...我有一個數據集,每個樣本有兩次測量(約100行),用於〜267種測量(列)。我需要爲兩個代表提取每種類型測量的平均值,最後我需要將行數減半,以僅顯示平均值。 – andemexoax