【问题标题】:Automating cell references自动化单元格引用
【发布时间】:2021-12-25 17:41:39
【问题描述】:

我有一个像这样格式的标准工作表,列是线性的

名字姓氏联系人类型地址地址2城市州

我的目标是获取这张表中的数据并在另一张表中以不同的方式格式化,就像这样,垂直

名字姓氏

联系方式

地址

地址 2

市州邮编

对于用户,他们可以使用它来打印邮寄标签(另外对于我的一些用户,以块形式阅读信息更容易)

所以我可以在新工作表中做这样的事情

={NameDirectory!B4&" "&NameDirectory!C4}

={NameDirectory!D4}

={NameDirectory!E4&" "&NameDirectory!F4}

等,所以每一行都抓取正确的数据,所以地址出现在一个块中

当然,下一个区块也会类似

={NameDirectory!B5&" "&NameDirectory!C5}

={NameDirectory!D5}

={NameDirectory!E5&" "&NameDirectory!F5}

唯一改变的是数字,因为我只是向下移动了一行。

我一直认为必须有一种更简单的方法来执行此操作,而不是复制公式,将其粘贴并手动将 B5 更改为 E5。同样,我可以将公式向下拖动多行,但它会根据需要更改数字而不是字母。

有没有我不需要大量复制和粘贴就可以实现我想要的东西?

这是一个例子(不分享原件,因为它是真实的联系信息,所以这有两个条目,但原件大约有 50 多个) https://docs.google.com/spreadsheets/d/1Ob4JXRT0CqqOb94-3Mqt1wu2LSsm3oeodc0eTPtT_3U/edit#gid=0

【问题讨论】:

  • 分享您的工作表的副本/样本以及所需输出的示例
  • 添加了一个例子的链接(不是原始的,而是我想做的一个例子)
  • 工作表是私有的
  • 如果您拖动复制,单元格引用会自动更改。要将列或行固定为常量,它们之前应该有 $。

标签: if-statement google-sheets split transpose flatten


【解决方案1】:

尝试:

=ARRAYFORMULA(FLATTEN(QUERY(SPLIT(FLATTEN(QUERY(TRANSPOSE(SUBSTITUTE(
 {Sheet1!A2:A&" "&Sheet1!B2:B, Sheet1!C2:E, Sheet1!F2:F&", "&Sheet1!G2:G&" "&Sheet1!H2:H, Sheet1!I2:K, 
 IF(Sheet1!A2:A="",," ")}, " ", CHAR(13))),,9^9)), " "), "where not Col2 contains ','", 0)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多