问题描述
尝试执行以下操作:
在G列中,添加以下公式:
"=ACOS(COS(radians(90-D2)) *COS(radians(90-D3)) +SIN(radians(90-D2)) *SIN(radians(90-D3)) *COS(radians(E2-E3))) *6371"
在D列和E列中的数据之前,在G列中将此公式重复到最后一行。 我希望公式在单元格向下移动时更新公式中的单元格(即D2变为D3 ...)
尝试以下操作未成功。这将在G列的所有行中复制公式,并在D和E列中添加数据,但我缺少为每行更新公式中的D和E单元的部分。我的脚本不完整,不知道如何解决。
for row_num in range(3,max_row+1):
sheet['G{}'.format(row_num)] = '=ACOS(COS(radians(90-D2)) *COS(radians(90-D3)) +SIN(radians(90-D2)) *SIN(radians(90-D3)) *COS(radians(E2-E3))) *6371'.format(row_num)```
解决方法
我是Python的新手,但我只是想通了。以下作品。
for row_num in range(3,max_row+1): sheet['G{}'.format(row_num)] = '=ACOS(COS(RADIANS(90-D{})) *COS(RADIANS(90-D{})) +SIN(RADIANS(90-D{})) *SIN(RADIANS(90-D{})) *COS(RADIANS(E{}-E{}))) *6371'.format(row_num-1,row_num,row_num-1,row_num)