- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个电子表格,其中每一行代表一台 PC,每行中的一个单元格包含过去 30 天内创建的所有日志文件的列表,以及在每个日志文件。
这是包含日志文件和错误的单元格的几个示例,一个用于 pc 297441,一个用于 PC 297897。我只在这个示例中包含了几天,通常这会显示所有日志在 30 天内全部在单个单元格中创建。
/cygdrive/c/app1/parent/297441/spfeed.log:0/cygdrive/c/app1/parent/297441/spfeed.log.2022-09-06:0/cygdrive/c/app1/parent/297441/spfeed.log.2022-09-07:0/cygdrive/c/app1/parent/297441/spfeed.log.2022-09-08:2/cygdrive/c/app1/parent/297441/spfeed.log.2022-09-09:0/cygdrive/c/app1/parent/297441/spfeed.log.2022-09-10:1
/cygdrive/c/app1/parent/297897/spfeed.log:0/cygdrive/c/app1/parent/297897/spfeed.log.2022-09-06:3/cygdrive/c/app1/parent/297897/spfeed.log.2022-09-08:0/cygdrive/c/app1/parent/297897/spfeed.log.2022-09-09:0/cygdrive/c/app1/parent/297897/spfeed.log.2022-09-10:0
为了更易于阅读,我将添加几个回车符以在单独的行中显示每个日志文件,但在电子表格中它是一个连续的行,如上所示。
/cygdrive/c/app1/parent/297441/spfeed.log:0
/cygdrive/c/app1/parent/297441/spfeed.log.2022-09-06:0
/cygdrive/c/app1/parent/297441/spfeed.log.2022-09-07:0
/cygdrive/c/app1/parent/297441/spfeed.log.2022-09-08:2
/cygdrive/c/app1/parent/297441/spfeed.log.2022-09-09:0
/cygdrive/c/app1/parent/297441/spfeed.log.2022-09-10:1
/cygdrive/c/app1/parent/297897/spfeed.log:0
/cygdrive/c/app1/parent/297897/spfeed.log.2022-09-06:3
/cygdrive/c/app1/parent/297897/spfeed.log.2022-09-08:0
/cygdrive/c/app1/parent/297897/spfeed.log.2022-09-09:0
/cygdrive/c/app1/parent/297897/spfeed.log.2022-09-10:0
在这里您可以看到每个日志文件都以其创建日期结尾,第一个日志文件不包含日期,因为那是捕获日志的日期,所以在这种情况下应该是 05/09/22。每个日志文件的末尾都有一个 : 以及一个显示错误出现次数的数字。
所以在这里我们可以看到 297441 我们每天都有日志文件,我们在 22 年 8 月 9 日看到错误记录 2 次,在 22 年 9 月 10 日看到错误记录 1 次。对于 297897,我们没有获得 07/09/22 的日志文件,我们在 06/09/22 记录了 3 个错误。
我想做的是对此进行一些分析,例如绘制一个月内错误出现的次数、错误发生次数最多的一天以及每台 PC 看到的错误数量例如在一个月内。
为了创建数据透视表/图表,我认为我需要将包含所有这些信息的单个单元格分离到单独的行中,并将每个元素放入单独的列中,这样它看起来像这样.
PC DATE ERROR COUNT
/cygdrive/c/app1/parent/297897/ || spfeed.log: || 0
/cygdrive/c/app1/parent/297897/ || spfeed.log.2022-09-06: || 3
/cygdrive/c/app1/parent/297897/ || spfeed.log.2022-09-08: || 0
问题是我不知道该怎么做。有人帮了我here分离出为每个错误创建一系列列的错误计数。这个问题是每台 PC 可能没有相同数量的日志文件,因为有些日子会丢失所以我不能,例如,说第 1 列将始终包含 05/09/22,第 2 06 列的错误/09/22 等。错误计数必须对应于发生的日期。
有人有什么想法吗?谢谢
编辑
这看起来可以做到,但我意识到在复制两个示例行时我犯了一个错误
路径应该是/cygdrive/c/spfeed/parent/而不是/cygdrive/c/app1/parent/我尝试更新你的公式,但它不能正常工作。您介意更新它以使用此路径吗,因为我必须承认我不完全理解您的公式?如果可以,将不胜感激。
/cygdrive/c/spfeed/parent/297441/spfeed.log:0/cygdrive/c/spfeed/parent/297441/spfeed.log.2022-09-06:0/cygdrive/c/spfeed/parent/297441/spfeed.log.2022-09-07:0/cygdrive/c/spfeed/parent/297441/spfeed.log.2022-09-08:2/cygdrive/c/spfeed/parent/297441/spfeed.log.2022-09-09:0/cygdrive/c/spfeed/parent/297441/spfeed.log.2022-09-10:1
/cygdrive/c/spfeed/parent/297897/spfeed.log:0/cygdrive/c/spfeed/parent/297897/spfeed.log.2022-09-06:3/cygdrive/c/spfeed/parent/297897/spfeed.log.2022-09-08:0/cygdrive/c/spfeed/parent/297897/spfeed.log.2022-09-09:0/cygdrive/c/spfeed/parent/297897/spfeed.log.2022-09-10:0
最佳答案
这是使用 ms365 的函数如 REDUCE()
和 TEXTSPLIT()
的一种可能性:
C5
中的公式:
=LET(a,REDUCE({"PC","DATE","ERROR COUNT"},A1:A2,LAMBDA(a,b,VSTACK(a,{"/cygdrive/","spfeed",""}&TEXTSPLIT(b,{"/spfeed",":"},"/cygdrive/",1,,"")&{"",":",""}))),IFERROR(--a,a))
关于excel - 如何将单个单元格中的数据分离成多列和多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74262506/
我是一名优秀的程序员,十分优秀!