AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / coding / 问题

问题[google-sheets-formula](coding)

Martin Hope
Tom Albu
Asked: 2025-03-29 02:06:15 +0800 CST

Google 表格 - 使用 Xlookup 和 Importrange 的数组公式

  • 6

我有一张表格,基本上将会员名单中的姓名和地址信息添加到银行付款清单中。

示例表链接

它使用 Xlookup(在 G 列中)将银行帐户名称(B 列)与会员表(礼品援助清单)上的银行帐户名称列表进行比较。如果找到匹配项,它会使用 ImportRange 从会员列表中导入 C 至 F 列。如果找不到任何内容,它会写入“无 GA”

=XLOOKUP(B4:B, IMPORTRANGE($G$2, "礼品援助清单!H:H"), IMPORTRANGE($G$2, "礼品援助清单!C:F"),"无 GA",0)

这很有效,但我想使用 Arrayformula 将其复制到列中(而不是手动执行 - 银行数据实际上是另一个 Importrange,所以我希望公式在添加更多数据时自动扩展到列中。)

我尝试过这个:

=ArrayFormula(XLOOKUP(B4:B, IMPORTRANGE($G$2, "礼品援助清单!H:H"), IMPORTRANGE($G$2, "礼品援助清单!C:F"),"无 GA",0))

它能起作用,但是它似乎只带来礼品援助清单中第一列(C)的数据,而不带来其他的数据。

我意识到,在这个例子中,导入范围不是必需的,但在现实世界中,礼品援助清单信息位于单独的工作表中。无论如何,我尝试将它们取出,但它仍然只导入第一列数据。

因此我认为这可能与 XLOOKUP 有关,但在我开始尝试寻找解决方法之前,我想在这里询问一下。

(我意识到,显而易见的解决方法是在每一列中单独复制一份公式,然后一次只带来一列数据,但这并不那么优雅)

有什么想法可以解释为什么会这样或者我该如何解决它?

链接的样本表有四个标签:

  1. 使用非数组公式,
  2. 使用数组公式,
  3. 使用删除了 Importrange 的数组公式
  4. 要导入的 GIFTAIDLIST 数据。(这通常会在单独的电子表格中)

提前谢谢汤姆

google-sheets-formula
  • 1 个回答
  • 33 Views
Martin Hope
arlovande
Asked: 2025-02-19 13:37:57 +0800 CST

使用多选单元格在 Google 表格公式中创建总和

  • 5

我有一张谷歌表格

| Column A | Column B | Column C |
| -------- | -------- | -------- |
| Product  | $100     ||
| Add-on 1 | $20      ||
| Add-on 2 | $10      ||
| Add-on 3 | $5       ||
||||
||||
|Customer. | Add-ons  | Total Due |
| John Doe | Multi-select | Formula Needed here |

Google 表格:

Google 表格图片

我正在尝试在单元格 C8 中编写一个公式,以便我在 B8 中进行多选并在 C8 中获得总数。

这是我尝试过的

=B1 + SUMPRODUCT(--(A2:A4=TRANSPOSE(B8)),B2:B4)

如果我在 B8 中选择一个项目,它会按预期创建一个总和。但是当我选择 2 个项目时,值将返回到 B1 的值。我想那是因为一旦我在 B8 中选择两个值,它就会变成一个列表,而这个公式不知道如何处理它。

有没有办法在单元格公式中解决这个问题?还是我需要在应用程序脚本中执行此操作?

google-sheets-formula
  • 2 个回答
  • 44 Views
Martin Hope
EagleEye
Asked: 2024-11-07 23:47:57 +0800 CST

将 Sumifs 数组公式应用于整列时出现问题

  • 5

如果两张表中的 B 列值彼此匹配,则尝试计算总和。以下是场景:

将 B 列工作表 2 的名称与 B 列工作表 1 的名称进行匹配

将工作表 2 中的单元格 A2(日期)与工作表 1 中的列 A 日期进行匹配

如果两个条件都满足,则将 F 列中每个名称的相应值相加。我已经开发出适用于一个单元格的公式:

=SUMIFS('Sheet 1'!F:F, 'Sheet 1'!A2:A, 'Sheet 2'!A2, 'Sheet 1'!B2:B, 'Sheet 2'!B2:B)

我不想将它拖下数百行,因此我尝试将其包装在ArrayFormula中,如下所示:

=ARRAYFORMULA(IF(LEN('Sheet 2'!B2:B), 
  SUMIFS('Sheet 1'!F:F, 'Sheet 1'!A2:A, 'Sheet 2'!A2, 'Sheet 1'!B2:B, 'Sheet 2'!B2:B), 
  ""))

我尝试使用SUMPRODUCT,,但无济于事MMULT:VLOOKUP

=ARRAYFORMULA(IF(LEN('Sheet 2'!B2:B),
  SUMPRODUCT(('Sheet 1'!B2:B = 'Sheet 2'!B2:B) * ('Sheet 1'!A2:A = 'Sheet 2'!A2) * 'Sheet 1'!F2:F),
  ""))

=ARRAYFORMULA(IF(LEN('Sheet 2'!B2:B), 
  MMULT((('Sheet 1'!B2:B = 'Sheet 2'!B2:B) * ('Sheet 1'!A2:A = 'Sheet 2'!A2)), 'Sheet 1'!F2:F), 
  ""))

=ARRAYFORMULA(IF(LEN('Sheet 2'!B2:B),
  IFERROR(VLOOKUP('Sheet 2'!B2:B & 'Sheet 2'!A2:A, 
    QUERY({'Sheet 1'!B2:B & 'Sheet 1'!A2, 'Sheet 1'!F2:F}, "SELECT Col2 WHERE Col1 = Col1", 0), 2, FALSE), 
  ""),
  ""))

但对于整个专栏来说,它不起作用,这是供审查的样表。任何建议都将不胜感激。

google-sheets-formula
  • 1 个回答
  • 15 Views
Martin Hope
ib723
Asked: 2024-11-02 04:24:42 +0800 CST

引用以今天的日期为名称的工作表

  • 5

我目前有一个 Google Sheet,其中包含一个应用脚本和计时器,它每天生成一次新工作表,并以今天的日期为名称。新工作表自动命名为“11/1/2024”,明天的工作表自动命名为“11/2/2024”等等。使用 IMPORTRANGE,我想将数据导入单独的工作表文件。但我只希望它从第一个文件中最新的工作表(即具有今天日期的工作表)导入信息。

我目前设置 IMPORTRANGE 公式的方式是引用特定的工作表名称,即 =IMPORTRANGE("link","11/1/2024!A1:A50")。这对于一天来说效果很好,但我想实现一个公式,该公式将每天动态更新以使用当天的日期来获取工作表。我尝试在 IMPORTRANGE 公式中实现 TODAY 而不是工作表名称,但它不起作用。

如有任何帮助,我们将不胜感激,先行致谢。

编辑:pgSystemTester 出色地向我展示了适用于这种情况的公式,请参见下文。在电子表格 1 中,我必须创建一个主表,它将引用具有今天日期的表格并反映该数据。在电子表格 2(一个单独的文件)中,我可以使用 IMPORTRANGE 从电子表格 1 中的主表中导入数据。电子表格 1 中的主表始终在更新以反映具有今天日期的表格的数据,电子表格 2 将导入更新后的数据。

经过更多研究,我发现了另一个同样有效的公式,并且省去了一个步骤。对于遇到同样问题的人来说,这是将数据从一个 Google 工作表导入另一个工作表的公式,引用以今天的日期为标题的工作表使用 IMPORTRANGE:

=IMPORTRANGE("YOUR_SOURCE_SPREADSHEET_URL", TEXT(TODAY(), "MM/dd/yyyy") & "!A1:B10")

google-sheets-formula
  • 1 个回答
  • 36 Views
Martin Hope
Jake Lambert
Asked: 2024-10-30 03:56:19 +0800 CST

设置单元格的最大值

  • 5

我尝试将一个单元格的最大值设置为另一个单元格的值,以便原始单元格中的数字不能超过第二个单元格的值。

例如,第一个单元格的公式结果为 40,但我想将最大值设置为 30(来自另一个单元格的值),并确保第一个单元格不超过 30。

我该怎么做呢,我对谷歌表格不是很熟悉,昨天我才发现我可以将某些值设置为单独单元格的值,而且我一直在使用它 XD

我尝试过

=ROUNDDOWN(A1)>(B1)=MAX(B1)

(向下舍入是因为 A1 中的值可以是小数,而我希望它向下舍入到最接近的整数,幸运的是它做到了)

我希望如果 A1 的数字大于 B1,则将单元格设置为 B1 的值,但谷歌表格只是说我的公式不正确:(

google-sheets-formula
  • 2 个回答
  • 15 Views
Martin Hope
Manuel Pelletier
Asked: 2024-10-26 20:38:16 +0800 CST

如何在没有辅助列的情况下对每个类别的最大值求和

  • 7

我有几类物品 (A13:A100),其中包含价格 (D13:D100 列)。我想要一个公式来计算每类物品的最高价格。

我以为这很容易。但是,我所做的并没有奏效。这是我所得到的。

行 A 类别 B 其他栏目 C 其他栏目 D 价格
细绳 数字
十三 水果 1
14 水果 1
15 肉类 5
16 水果 3
17 谷物 2
18 谷物 3
19 谷物 3

在这种情况下,我想将水果的最大值、肉类的最大值和谷物的最大值相加。所以结果是 3 + 5 + 3 = 11。

我已经尝试了三次。

=SUM(ARRAYFORMULA(MAX(FILTER(D13:D100, A13:A100 = UNIQUE(A13:A100)))))

=SUM(ARRAYFORMULA(IFERROR(VLOOKUP(UNIQUE(D13:D100), {D13:D100, A13:A100}, 2, FALSE), 0)))

=SUM(ARRAYFORMULA(MAXIFS(D13:D100, A13:A100, UNIQUE(A13:A100))))

但答案永远不会是 11。随着时间的推移,会有新的行和类别,这就是为什么在我的公式中我计划到第 100 行。我已经知道我可以通过添加新列来逐步完成,但我想避免这种情况。

google-sheets-formula
  • 3 个回答
  • 30 Views
Martin Hope
Jerryboy Pereira
Asked: 2024-10-26 19:34:10 +0800 CST

具有多个条件的 Textjoin

  • 5

https://docs.google.com/spreadsheets/d/1_jOn0vyv6osaoppeU9TXX1boOlZbnoCFy3eWsddP7uc/edit?usp=sharing

我正在使用以下公式,但结果来自一个条件,但我需要从多列中进行检查。

=TEXTJOIN(", ", TRUE, IF(($A$7=D2)+($C$7=D2)+($E$7=D2)+($G$7=D2), $B$7, "")) 上述公式有效,但只检查一列。

该公式必须检查多列,如下面的公式所示。

=TEXTJOIN(", ", TRUE, IF(($A$7=D2)+($C$7=D2)+($E$7=D2)+($G$7=D2), $B$7,$D$7,$F$7,$H$7, ""))

请帮忙解决这个公式

问候,

google-sheets-formula
  • 2 个回答
  • 23 Views
Martin Hope
Alexander K
Asked: 2024-10-12 03:24:32 +0800 CST

为什么使用此 importxml 函数会得到“未找到 URL 上的资源”错误?

  • 5

该函数是 =importxml("https://scryfall.com/search?as=grid&order=name&q=type%3Aaetherborn+color%3E%3DW+%28game%3Apaper%29+legal%3Avintage","//strong[1]") 这应该显示“找到 0 张卡片”

这个对我来说很好用,我不确定有什么区别。 =IMPORTXML("https://scryfall.com/search?as=grid&order=name&q=type%3Aadvisor+color%3E%3DW+%28game%3Apaper%29+legal%3Avintage","//strong[1]")

我尝试用更直接的 xpath 替换 //strong[1],但得到的答案相同。我想要的响应是“找到 0 张卡”

google-sheets-formula
  • 1 个回答
  • 17 Views
Martin Hope
Bambang Wibi
Asked: 2024-09-18 20:00:45 +0800 CST

Arrayformula 按组排序序列号

  • 3

我有: https: //docs.google.com/spreadsheets/d/12bz_CWHE1xc7JDvwCVLUCkxSgFmgZQy4-m7OMZ-kAjU/edit?usp =sharing

预期结果如 D 列所示

并已成功使用拖拽公式: =IF(B2="";;MATCH(B2;UNIQUE(FILTER(B$2:B;A$2:A=A2));0))

但是我需要一个数组公式来完成它,以便不必每次都手动向下拖动以在它们之间添加一行。

我提前感谢你的帮助

google-sheets-formula
  • 1 个回答
  • 34 Views
Martin Hope
RAPHAELLE ABBY MONTAYRE
Asked: 2024-09-14 11:43:48 +0800 CST

有没有办法统计单元格列中部分名称匹配(REGEXMATCH)的数量?

  • 5

我正在尝试根据来自谷歌表单的答案制作一个缺席和迟到计数器。谷歌表单通过复选框收集缺席和迟到的人,并在链接的表单中将所有姓名输入为姓名 1、姓名 2、姓名 3...

我当前遇到的问题是,如果我无法对整列进行 REGEXMATCH,我就无法创建计数器。

我通过这个公式仅用 1 个单元格进行了测试并且成功了:

=IF(REGEXMATCH(C2,"SMITH JOHN"), COUNTIF(C2, "SMITH JOHN"))

我只需要它对整个专栏起作用。

这就是我想要发生的事情:

B、C 和 D 栏的表格数据

日期 缺席的 晚的
09/12/23 史密斯·约翰、克雷格·艾米 希望米奇
09/13/23 霍普·米奇,史密斯·约翰 克雷格·艾米

预期输出:F、G、H 列上的计数器

姓名 缺席的 晚的
史密斯·约翰 2 0
克雷格·艾米 1 1
希望米奇 1 1

如果有任何方法可以实现这一点,请告诉我!

google-sheets-formula
  • 2 个回答
  • 35 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    重新格式化数字,在固定位置插入分隔符

    • 6 个回答
  • Marko Smith

    为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会?

    • 2 个回答
  • Marko Smith

    VScode 自动卸载扩展的问题(Material 主题)

    • 2 个回答
  • Marko Smith

    Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

    • 1 个回答
  • Marko Smith

    具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

    • 1 个回答
  • Marko Smith

    如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

    • 6 个回答
  • Marko Smith

    `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

    • 3 个回答
  • Marko Smith

    在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

    • 1 个回答
  • Marko Smith

    PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

    • 2 个回答
  • Marko Smith

    AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

    • 1 个回答
  • Martin Hope
    Fantastic Mr Fox msvc std::vector 实现中仅不接受可复制类型 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant 使用 chrono 查找下一个工作日 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor 构造函数的成员初始化程序可以包含另一个成员的初始化吗? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský 为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul C++20 是否进行了更改,允许从已知绑定数组“type(&)[N]”转换为未知绑定数组“type(&)[]”? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann 为什么 {2,3,10} 和 {x,3,10} (x=2) 的顺序不同? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve