我试图将一对一的“一对多关系”(如在数据库中)复制到另一张(在同一电子表格中)。
我已经完成了类似主题的研究,但似乎没有任何解决方案可以覆盖我。
从本质上讲,原则上可以说明如下:
关于此的一些补充说明:
所有这一切的一个例子是在辅助表的每一行的HTML代码(标签)内每个元素的几个图像的URL,报告给PrimaryTable中的相应单元格。
到目前为止,我在对Ted Juch的博客进行了一些讨论之后找到了一个解决方案,并为此目的贡献了一个公共电子表格,其中使用了以下公式:
ARRAYFORMULA(移调(SPLIT(CONCATENATE(REPT(移调('次要 表'!B1:B&“,”);(A1:A = TRANSPOSE('Secondary 表'A1:A))*(LEN(A1:A)0))及REPT(CHAR(9)及” “& CHAR(9); TRANSPOSE(行('二级表'!A1:A))=行('中学' 表'!A1:A)));“,”& CHAR(9); 0)))
我想从TC Adam那里得到了上面的公式,虽然我似乎已经了解它是如何工作的,但我几乎无法维护它或将其修改为不同的情况。在最后一个例子中,它返回一个“超出范围”的错误,无法解释原因。
我对公式的唯一修改是在初始数组公式中添加“if(row(A1:A)= 1;”列标题“; FORMULA)”,结果为:
ArrayFormula(IF(ROW(A1:A)= 1;“列标题”; TRANSPOSE(SPLIT(CONCATENATE)(REPT(TRANSPOSE)('Secondary Table'!B1:B&“, “);(A1:A = TRANSPOSE('次要 表'A1:A))*(LEN(A1:A)0))及REPT(CHAR(9)及” “& CHAR(9); TRANSPOSE(行('二级表'!A1:A))=行('中学' 表'!A1:A)));“,”& CHAR(9); 0))))
我怀疑大型数据集是否会产生如此庞大的数组,在谷歌电子表格的限制下无法正确处理,因此问题的原因,或者是我搞砸了试图调整它的公式。 / p>
我还尝试使用ArrayLib库创建一个自定义函数,该库具有一个名为ArrayLib.filterByText的类似函数,但它只运行几行,直到它出现“error:Service timed out”消息。
我应该尝试实现查询方法吗? 有人可以帮忙吗?
答案 0 :(得分:1)
一年前你问过这个问题,但我仍然认为这对其他人有用(这对我而言)。
Here is the "best" solution I found for this(信用转到Alexander Ivanov)
请注意一对多关系不是以标准化的方式保存,而是以序列化方式保存,但它确实可以开箱即用,并且可能是更多的灵感完整彻底的解决方案。