google-sheets - 如何从一个单元格中的连接字符串中获取数据到 Google 表格中的另一个表格?
问题描述
对于我的用例,我有一个连接到主 Google Sheet 的 Google 调查。
该调查有 2 个问题:1. 姓名,2. 从 1 到 31 的多项选择(一个月中的几天)。我的调查结果进入了由 Google 调查/表单在 Google 表格中自动生成的表格,其中包含 2 列:“姓名”和“哪几天?”。“哪几天?” 列是具有串联字符串列表的单元格(例如'1、3、6、8、11')。
主要的 Google 表格具有以下结构:第一列是“名称”,它只是从 Typeform 表格中导入名称(这很好用)。其余列代表一个月中的天数(因此从 1 到 31 最多 31 列)。在每一列下,都有复选框。
这个想法是复选框将根据 Typeform 的结果自动检查(而不是复选框,如果更容易,我们也可以使用彩色单元格)。
问题:如何自动从连接单元格“哪天?”中获取数据?(例如'1, 3, 6, 8, 11')到主Google表格(以便检查/着色列'1','3',...,'11')?
谢谢!
解决方案
您可以在主表的单元格 B2 上使用此公式(假设 Sheet1 是您的调查表,Sheet2 是您的主表):
=IF(iferror(match(CELL("address",B2),ARRAYFORMULA(ADDRESS(ROW(B2),1+split(Sheet1!$B2,","))),0),0),TRUE,FALSE)
然后向右和向下拖动到表格的末尾。
样本:
解释:
SPLIT
根据您输入的以逗号分隔的数字创建一个数组。
ADDRESS
创建一串单元格引用。ARRAYFORMULA
将此扩展到一个数组。
MATCH
如果单元格位置的引用存在于另一个表上,则返回有效值CELL
,否则将返回错误。
IF
并将IFERROR
根据 MATCH 的值返回 true 或 false。
推荐阅读
- sql - Oracle SQL - SELECT CASE WHEN 列 =(选择语句)
- c# - 更新数据库和缓存中的数据的最佳实践
- azure-functions - Azure Function - 保护对存储帐户的访问
- ios - 使用 Docker 自动化 iOS 测试
- sql-server - SSIS/SQL:将在多个相关临时表中准备的数据移动到“真实”表而不覆盖现有数据(附加)
- git - 当检查失败时,危险不会发出警告
- html - Angular 项目的 Internet Explorer 不支持 input type="date"
- vb.net - VB.NET 有像 C# 那样的模式匹配吗?
- python - 在 Python 中实现 Miller-Rabin 复合性时遇到问题
- selenium - 如何在不使用 perl 在 selenium 中使用睡眠的情况下等待动画完成?