मैंने कुछ VBA कोड लिखना शुरू किया धन्यवाद @Lance रॉबर्ट्स
यह कोड वास्तव में प्रत्येक पंक्ति और कॉलम के माध्यम से लूप करेगा, जो रिक्त प्रविष्टियों की खोज कर रहा है, ऊपरी और निचले मूल्यों को पकड़ता है और इस तरह से गणना करता है।
एकमात्र समस्या तब होती है जब डेटा रिक्त होने पर पहली पंक्ति।
आलस्य के कारण स्तंभों को 10 के रूप में कठोर कोडित किया जाता है।
Sub SetAverages()
Dim lastrow As Integer, ncol As Integer, nrow As Integer
Dim secondvalrow As Integer, blankrows As Integer
Dim difference As Double, Increment As Double
Range("A65535").End(xlUp).Select
lastrow = ActiveCell.Row
For ncol = 2 To 10
For nrow = 2 To lastrow 'start after header row
If Cells(nrow + 1, ncol).Value = "" Then
secondvalrow = nrow + 1
Do Until Cells(secondvalrow, ncol).Value <> "" Or secondvalrow = lastrow + 1
secondvalrow = secondvalrow + 1
Loop
blankrows = secondvalrow - nrow
difference = Cells(secondvalrow, ncol).Value - Cells(nrow, ncol).Value
Increment = difference / blankrows
For i = nrow + 1 To secondvalrow - 1
Cells(i, ncol).Value = Cells(i - 1, ncol).Value + Increment
Next i
End If
Next nrow
Next ncol
End Sub