Excel根据唯一时间戳将多列转换为数据集

Excel convert multiple columns to dataset based on unique timestamp

提问人:Nishil Shah 提问时间:1/17/2023 更新时间:1/17/2023 访问量:71

问:

我想将(公式或方法)excel从一个输出转换为另一个输出,以便谷歌地图csv上传以在地图上绘制数据。 例: 原始 CSV:enter image description here

mymaps API 的预期输出:enter image description here

另请注意,此坐标不是恒定的,并且在整个城市或州内会发生变化。

尝试 1) 手动但数据集太大 尝试 2) 文本到列,但仅支持通过分隔符

excel csv excel-formula 数据操作

评论

3赞 Ike 1/17/2023
请在您的问题中以文本形式提供您的示例数据和预期输出 - 最好使用 Markdown 表格生成器(阅读内容以获取解释)。这样就容易多了。

答:

1赞 WeAreOne 1/17/2023 #1
F2  =UNIQUE($B$2:$B$20)
G2  =FILTER($C$2:$C$20;($B$2:$B$20=$F2)*($A$2:$A$20=G$1))
H2  =FILTER($C$2:$C$20;($B$2:$B$20=$F2)*($A$2:$A$20=H$1))

enter image description here

1赞 David Leal 1/17/2023 #2

使用 O365,您可以尝试以下操作,并可以获取包括标头在内的整个结果:E1

=LET(id, A2:A5, time, B2:B5, str, C2:C5, idUx, SORT(UNIQUE(id)), 
 timeUx, UNIQUE(time),GET, LAMBDA(tt,ii, XLOOKUP(tt&"|"&ii, time&"|"&id, str)),
 REDUCE(HSTACK("ref_time", TOROW(idUx)), timeUx, LAMBDA(ac,t,
  VSTACK(ac, HSTACK(t, GET(t,INDEX(idUx,1)), GET(t, INDEX(idUx,2)))))))

输出如下:excel output

检查以下有关如何使用模式生成每行的问题:如何在Excel中将表格从垂直转换为水平但长度不同。我们使用用户函数来避免使用不同的输入(,)重复相同的计算。只需针对您的实际问题更新输入范围名称 (, , )。添加以连接对多个值的搜索,以避免任何误报。查看@JvdV答案以获取更多详细信息和评论。可以避免使用 ,但它会产生更详细的公式。由于您的数据的性质,我认为没有必要,使用分隔符就足够了。REDUCE/VSTACKGETLAMBDAttiiidtimestr"|"MMULT