我希望能够在不更改公式的情况下剪切和粘贴数据。
我过去做过一些令人毛骨悚然的事情,涉及到
INDIRECT()
函数来解决此功能,但是似乎有一种更简单的方法。有什么建议吗?#1 楼
如果更改(例如)=$A
中的值,则A1
表示法也可以自动移动。唯一的保证解决方案是将所有引用括在
INDIRECT
中,例如=INDIRECT("$A")
或什至只是=INDIRECT("A1")
。这两种解决方案的难点在于,它们具有许多相同的公式,例如
=A1
=A2
=A3
...
=A99
通常,您将先填写第一个
=A1
,然后复制并粘贴(或使用自动填充功能向下拖动)以自动填写连续公式。但是,如果第一个公式是=$A
或=INDIRECT("A1")
,则此技巧将不起作用(实际上,这是$
的作用-防止其自动更改)。如果有很多连续的公式,一种解决方案是:
像往常一样创建公式(使用普通
=A1
和自动填充)使用替换对话框(Ctrl + H)并使用“在公式中搜索”将所有
=A1
,=A2
... =A99
包装在=INDIRECT("A1")
等中。请注意,执行查找和替换时,可以选择使用正则表达式。评论
更新了答案,建议在新的Google Spreadsheets中使用更好的查找和替换方法,该方法可以替换公式并使用正则表达式,
– Motti Strom
15年1月8日在18:33
您能否举例说明将所有单元格引用包装在具有INDIRECT的公式中的搜索/替换参数是什么?
–迈克尔
2015年4月8日,下午5:55
您可以将INDIRECT与ROW()结合使用以使公式在当前行上运行。例如:= A1 + B1变为= INDIRECT(“ A”&ROW())+ INDIRECT(“ B”&ROW())
–邪恶的鸽子
18/12/5在2:28
#2 楼
当您将鼠标悬停在选定的单元格上并且光标变为“手”时,可以拖动这些单元格并保留其引用。下面的详细说明:从Google文档论坛:
选择单元格的范围。然后使用Ctrl + C(复制;将单元格及其公式放在粘贴缓冲区中)。现在拖动(将鼠标悬停在所选内容的边缘,直到鼠标光标变为手形;现在)您可以将选定的单元格拖动到新位置。
返回到复制的单元格的原始左上角位置,然后使用Ctrl + V(粘贴)。
现在,您应该拥有两组引用相同单元格的公式。
评论
这是保留公式的唯一答案。
–amcnabb
2014年9月15日18:13
同意-这是唯一正确的答案。
–stevemidgley
2014年12月9日20:15
谢谢!我很惊讶“拖动”和复制/粘贴之间有区别!
– creswick
18年1月23日在22:27
警告:这会破坏引用。只有在没有对要拖动的单元格的引用时,才可以这样做。否则,您必须手动修复所有参考。
– ADTC
19年1月7日在6:52
更好的方法:复制工作表,从工作表的克隆中剪切出来,粘贴到原始工作表中所需的新位置。完成后,删除工作表的克隆。这样,引用不受影响。
– ADTC
19年1月7日在7:00
#3 楼
遇到了这个问题,发现了类似的问题,最终找到了一个Excel解决方案,该解决方案似乎可以在Google Spreadsheets中很好地发挥作用。对于不想在粘贴中更改的单元格引用,只需添加
$
在每个部分之前。所以
G12
会变成$G
我正在使用的电子表格中的一个单元满足了我的需要,看起来像这样:
=$G&Sheet1!B3&Sheet1!A3&$G
评论
这对我不起作用。请参阅下面的我的替代文件webapps.stackexchange.com/questions/22558/…
– Motti Strom
13-10-15在23:38
@Leonard,哇,语法太可怕了。反之则更直观,即相对单元格使用$,而默认单元格为默认值。
–起搏器
2014年12月20日在7:58
@Pacerier我完全同意您的观点,尽管它可以工作,但它可怕且难以阅读。我使用电子表格的频率不足以理解您的建议。你能详细说明吗?
–伦纳德
2014-12-20 14:40
@Leonard,我的意思是默认行为是不同的,所以我们执行G1&Sheet1!$ B $ 3&Sheet1!$ A $ 3&G2来代替$ G $ 1&Sheet1!B3&Sheet1!A3&$ G $ 2。
–起搏器
2014年12月20日15:15
@grahamparks:然后投票,并可能发表评论为什么这不是一个解决方案。不要试图在答案中添加自己的评论。
–ale
17年4月11日在19:17
#4 楼
在Google Spreadsheets中,要剪切和粘贴单元格而不自动移动其公式,请使用Ctrl + X剪切(或Ctrl + C进行复制),并使用Ctrl + Shift + V进行粘贴。Shift告诉Google表格不要理会您的公式。
评论
仅供参考,如果您使用的Flycut(mac)之类的应用程序已激活CTRL + SHIFT + V快捷键,则它将与电子表格快捷键冲突,并且公式锁定将不起作用。禁用Flycut应用程序的快捷方式,或者先退出它,然后再执行CTRL + SHIFT + V。
–隆
2014年7月30日18:13
使用Shift修改粘贴似乎会使Google Spreadsheet粘贴值,而不是未修改的公式。
–马特·麦克卢尔(Matt McClure)
2014年8月26日15:30
这是不正确的-ctrl-shift-v只会粘贴公式的“值”。这将防止转置数据,但是结果单元格将包含静态值而非公式。
–stevemidgley
2014年12月9日20:14在
不起作用,-1。
–起搏器
2014年12月20日在7:48
我从不削减。使用ctrl + shift + v粘贴时,即使您在源单元格上执行了ctrl + x,它也始终复制值。
–备用字节
16-2-16在21:17
#5 楼
解决方法与在Excel中相同:复制并粘贴数据,然后返回并从原始位置删除它。
#6 楼
剪切(而不是复制)似乎对我有用,可能出于相同的原因,拖动选定的单元格也可以-即,相同的操作。这也是我所知道的唯一一种无需更改公式即可粘贴到另一页的方法。如果您尝试执行“复制”而不是“移动”,请使用拖动方法(在拖动之前进行复制) ),或先将其复制到页面上的其他位置。
#7 楼
这是另一个选项:切换到“显示公式”模式(在“视图”菜单下)
复制所需区域
在某些外部文本编辑器中粘贴
>进行一些更改-就像在某处添加空格一样简单
从外部文本编辑器复制公式
粘贴到工作表的目标区域中
关闭显示公式
虽然这似乎是一个漫长的过程,但实际上这只是几个关键步骤。另外,在我的设置中,步骤4是必需的-如果没有它,Sheets仍会像更新直接粘贴一样更新单元格的位置。 YMMV。
评论
我不敢相信它是如此棘手,我不明白为什么它必须如此困难,但这是唯一有意义的答案。很好,谢谢
–克里斯蒂安·特拉伊纳(CristianTraìna)
4月3日12:30
#8 楼
要将一系列单元格移动到Google表格中的新位置:1。选择您要移动的单元格范围2。将鼠标移到所选内容的任意边缘,直到光标变为hand3。将您的单元格拖动到新位置
这会执行应做的操作-移动它们-因此所有单元格信息将保持原样。
ps。 Google也已在此处指示此操作,但他们没有说您可以从任何边缘拖动,仅从顶部开始拖动,这就是为什么我的说明更好的原因! :)还要注意,您选择的单元需要相邻才能使此单元正常工作。
评论
很好抓住!
– marikamitsos
19-10-10在10:09
这里也提到了相同的方法。仍然。对此进行了更好的研究和解释。
– marikamitsos
19-10-10在10:14
#9 楼
执行公式的文本副本而不是单元格副本:使用鼠标选择公式文本,然后按CTRL + C。然后选择目标字段,然后按CTRL + V。这样可以保留公式评论
但是您将不得不为每个单元格重复此操作。...是否可以通过多个单元格进行文本复制?
–起搏器
2014-12-20 7:49
#10 楼
我只是查找并用''(或我要复制的尽可能多的公式)替换'='的所有实例,以使所有公式变成纯文本。我复制并粘贴单元格,然后添加“ =”。注意:这可能不适用于庞大的工作表,因为编辑其他单元格可能会产生意想不到的后果,但通常对我而言是有效的。
#11 楼
使用INDIRECT()
非常适合于在复制和粘贴目标后保留引用的绝对位置,但是问题在于,在复制公式时,它还保留了绝对位置,这意味着您不能轻易地将公式扩展为覆盖一个解决方案是将
INDIRECT()
与ROW()
,COLUMN()
和ADDRESS()
结合使用,以基于公式的单元格以编程方式生成目标单元格的位置。在最简单的情况下,例如当目标单元格具有固定的列并且始终与公式保持在同一行时,可以按以下步骤进行操作:
INDIRECT("A"&ROW())
为了从公式单元格引入动态偏移,您可以使用
ADDRESS()
:INDIRECT(ADDRESS(ROW()-1,COL()-4))
在下面的屏幕截图中,
B1:E1
中的公式扩展到了下面的16行,然后剪切A7:A10
中的数字序列并将其粘贴6个单元格。如您所见,最简单的公式已自动调整并取消同步,而对INDIRECT()
的天真使用并未正确推断出所有行,但是使用INDIRECT()
的两个公式以及对行和列位置的编程检索能够维护其引用:#12 楼
最简单的方法是只选择要移动的所有单元格,然后将它们拖放到所需的位置。如果在其他单元格中有公式引用了您移动的单元格的原始位置,则参考公式将自动更新为您移动的单元格的新位置。希望这可以帮助! (假设此操作在Excel中有效,但我只在Google表格中完成过。)。#13 楼
用鼠标选择单元格
复制剪贴板到剪贴板
通过捕获组的边缘,用鼠标将选定的单元格移动到新位置
从剪贴板粘贴到您刚才的空白处将所有内容从
移开了
评论
有趣的是...我从来没有认为此功能是一个错误。数十年来,它一直在Excel中工作。您是否有时间检查给出的答案?也许您可以将其中之一标记为最佳答案。
下面回答了许多不同的问题。问题可以解决吗?我认为您的问题的一个示例是:单元格A2包含一个公式,例如“ = B1 + 5”。 B1包含“ 42”。 A2显示“ 47”,如预期的那样。但是您已经意识到B1不应包含“ 42”,C1应该具有“ 42”,而B1应该具有“ 58”。您单击B1,“剪切”,单击C1,粘贴。 B1现在为空白(预期),C1现在为“ 42”(预期),但A2仍显示“ 47”,因为A2已自动更新为“ = C1 + 5”,以进行剪切和粘贴(不期望)。您想要的是A2保持“ = B1 + 5”。我说的对吗?