嵌套在Excel中的列表

我甚至不知道如何问这个。

我有一个数据库,每一行是一个人。 列是联系信息,电话等。一列是“date访问”。 可以为每个人访问多个date。 我不想使用逗号或将它们全部放在一个字段中。

有没有办法有一个“嵌套”列表(不是一个下拉菜单 – 只是每个人访问date列表),这样一个人仍然只消耗一个单一的行?

是,

要做到这一点,给每个人一个唯一的ID不会改变。 然后在另一张纸上存储ID和date。

主表(ID,姓名,联系方式,电话等)第二张(ID,访问date)

在数据库理论中,这被称为“一对多”关系,而我所描述的是“正常化你的数据集”。

在Excel中,您现在可以使用公式来操作数据,但您需要或可以想像将这些数据分开之后。

正如您在评论中提到的那样,计算用户的所有访问date。 在右侧的主表上,您可以使用:

=countif(Sheet2!A:A,Sheet1!A1) 

这将统计第二张表中与主表中当前行ID相符的所有ID。

关于使用一个单元的说明:

将所有的date存储在一个单元中最终会最大限度地出现,并且随着它的增长将难以查看/search,所以我强烈build议不要这种方法。

如果你坚持把date保持在那里,你可以通过计算逗号的总数来计算访问次数。 =(LEN(G1) - LEN(SUBSTITUTE(G1,",","")))+1这个公式取所有date的长度,以及删除逗号的date长度,并减去它们以得到出现次数。

有关使用多列的注意事项:

这个方法与我所build议的方法有相同的概念,我们把许多date与行的个人身份联系起来。 但是,有一些关键的局限和缺点。

主要区别在于,当我们通过将date垂直延伸来抽象date时,我们可以更容易地操作它们,并且使得一个人的20个date列表更容易阅读。 通过在第二张纸上垂直转置date,而不是使用这种方法,我们也可以使用Excel的内置filter。 只是存储大量的数据本身是无用的。 以一种可以查看和操作easy的方式进行存储,可以使一切变得更加强大