我在 Excel 表 CSV 格式的每 23 行中都有下面的语句(文档中没有公式,我只是假设使用 Excel 是改变这种情况的最简单方法!)
wp_pos=(13.0479,0.100,-165.4428)
- 价值观总是不同的
我想更改第二个值的每次出现(在本例中为 0.100)
我想将其更改为“单元格值 + 0.200(即 0.30)”的总值
如果将文档放入 Excel 中,则行
单元格 A 是wp_pos=(13.0479,0.100)
单元格 B 为 0.100 <-- 我希望更改这个值
我该如何对每 23 行执行此操作?
答案1
如果单元格 A 包含,wp_pos=(13.0479,0.100,-165.4428)
则第一步是拆分值。因此,选择 A 列并转到Data/Text to Columns
。选择逗号作为分隔符。
现在你将拥有
A = wp_pos=(13.0479
B = 0.100
C = -165.4428)
在 D1 列中,输入
=if(mod(row(),23)=0,B1+.2,B1)
这将检查行号是否能被 23 整除,如果能,则 D1 将包含 B1 + .2,否则将包含 B1
在 E1 中
=concatenate(A1,",",D1,",",C1)
这会将所有内容重新连接在一起。将 D1 和 E1 复制下来,长度与数据长度相同
您现在可以复制 E1 列并将特殊值粘贴到新工作表中,这样您只需获得公式,然后导出。
答案2
我下面的建议假设wp_pos=(13.0479,0.1,-165.4428)
A 列将被替换为wp_pos=(13.0479,0.3,-165.4428)
同一列(无论此列中出现“wp_pos”的哪个位置),但重新阅读问题和评论后,这可能不是要求。在这种情况下.. 忽略我!
我有一个稍微复杂的公式 - 不知道它是否有趣:
=REPLACE(A4,SEARCH(",",A4,1)+1,SEARCH(",",A4,SEARCH(",",A4,1)+1)-SEARCH(",",A4,1)-1,TEXT(VALUE(MID(A4,SEARCH(",",A4,1)+1,SEARCH(",",A4,SEARCH(",",A4,1)+1)-'SEARCH(",",A4,1)-1)+0.2),"@"))
添加:稍微简化的版本:
=REPLACE(A4,SEARCH(",",A4,1)+1,SEARCH(",",A4,SEARCH(",",A4,1)+1)-SEARCH(",",A4,1)-1,MID(A4,SEARCH(",",A4,1)+1,SEARCH(",",A4,SEARCH(",",A4,1)+1)-SEARCH(",",A4,1)-1)+0.2)
我认为它可能还可以进一步简化。
我会以稍微不同的方式插入这些公式,但我假设这wp_pos=
是我们可以使用的标准?而不是每 23 行。如果不是,那么再次忽略我!
无论如何,如果它感兴趣,但我很抱歉,它有点精心制作的:
- 如果数据还没有列标题,请创建一个虚拟标题行。只需将其插入顶部,键入 Heading1 并将其拖到右侧。将最后一列拖到另一列之外。
- 使用自动筛选对于第一列,选择
Custom Filter
“以...开头”,输入“wp_pos”。 - 单击第一个数据单元(第一列)并按下
Ctrl-Shift-Down
突出显示至底部。 - 按下
Ctrl-Shift-Right
可将选择范围扩展至末尾。 Shift-Right
包括空白列。- 按下
Ctrl . (period)
可使右上角的单元格成为活动单元格。 Ctrl-Shift-Right
将选择折叠到此列。您可能需要按几次,直到仅选择此空白列。- 在活动单元格中输入公式,将 A4 更改为当前行号。
- 按下将此
Ctrl-Enter
公式填充到选定的单元格中。
您无法Copy/Paste-Special, Values
使用当前选择。因此,您需要删除过滤器,选择此新列,然后选择复制/粘贴-特殊,值(在同一列上)。然后再次复制同一列,选择第一列。右键单击以找到粘贴-特殊,然后单击选项跳过空白。原来的 wp_pos 单元格将被替换,但其他单元格将保持不变。
正如我所说,详尽阐述!但这个提纲可能包含一些有用的信息(对某些人来说……)。