【问题标题】:Google Sheets: Function to Replace Text in Another FormulaGoogle表格:替换另一个公式中的文本的功能
【发布时间】:2018-01-14 02:39:14
【问题描述】:

背景和问题:

  • Sheet1 每条记录有一行,其中每条记录是不同的场景。
  • 每条记录/行都有一个 column1,其中包含相似但略有不同的公式,每行一个。
  • 每个公式都包含对多个 NamedRanges 的不同引用。
  • Sheet2 想在 Sheet1 中查找一个记录 ID,返回该记录的公式,并在 NamedRanges 中用文本“新”替换“旧”。

据我所知,这不能在函数中完成,但希望被证明是错误的。

到目前为止,我已经

  • 刚刚复制了公式,并完成了查找/替换“在公式中搜索”,但接下来我需要在公式中完成此操作。

  • 试图找到一种方法来做INDIRECT,但由于每个公式都可能不同,所以这是行不通的。

Substitute 会返回文本,并且不会在公式中搜索。

这是一个示例 (https://docs.google.com/spreadsheets/d/1YlNVICaJyw3AdIpiJ7Fhw1TJgOiWd3k-MRGafVXvTjY/edit?usp=sharing)

  • 我希望 Sheet2 中“计算”列的公式在 Sheet1 中查找记录编号,找到该记录的公式,将其替换,然后在 NamedRanges 中将“_old”替换为“_new”。
  • 请注意,每个公式(记录 1、2 和 3)都略有不同
  • 请注意,在 Sheet2 上,某些记录号可以重复,并且 Sheet2 上的颜色/尺寸/输入有所不同,但公式应该相同(更新命名范围除外)

【问题讨论】:

  • 你看过this吗?
  • @mrtig 是的,我读到了,但看起来并没有为我解决问题,因为我想参考的原始公式不同。

标签: google-sheets spreadsheet


【解决方案1】:

我相信您所需要的可以使用INDIRECT() 公式函数来实现。

你可以在这里阅读:https://support.google.com/docs/answer/3093377?hl=en

如果您尝试使用 INDIRECT() 完成工作但未能完成,请在此处发布您的尝试(最好链接到包含一些数据和您迄今为止提出的公式的电子表格),以便我们尝试帮助。

或者,您可能希望使用用户定义的函数来操作公式。

【讨论】:

  • 我认为我们不能在其中之一内进行搜索。在这种情况下,我要么需要:(1)在 INDIRECT 期间以某种方式用 NameRange_new 替换 NameRange_old,或者(2)需要用大量新的 INDIRECT 重做所有原始公式,但我仍然无法引用那些当公式不同时。
  • 是的,很可能不得不重做现有的公式。可以分享一个示例电子表格吗?
  • 在 OP 中添加了一个示例。
  • 解决方案见docs.google.com/spreadsheets/d/…——重要部分在最后一个标签上用红色描述。
  • 不幸的是,这并没有解决它,因为计算列中的公式因记录号而异(基本上每个记录号都是它自己的函数)。目标是能够在 Sheet2 中添加新行,并根据 RecordNumber 从 Sheet1 中提取正确的函数,但请参阅 Sheet2 上的输入/颜色/大小,以及“新”命名范围。我开始认为这是无法解决的,除非我对用户定义的函数感到疯狂,我试图避免这种情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多