我有一个电子表格,其中包含来自船舶的检验报告,并分别报告差异。结果,一天中存在多个差异将产生多个报告。我希望能够检查船只提交报告的天数,但是由于列表中有数百条航程,因此计算唯一值的常用功能被证明是不合适的。每个每日报告都有一个基于其航行代码和航行日期的报告ID。
例如,如果我有 Reports 数据集,我想输出 ReportCount 信息。我曾经考虑过使用COUNTIFS
,但到目前为止并没有取得太大的成功。我不致力于使用单个报告ID,因此,如果有帮助,我很高兴使用其他方法。
那么,问题是,我可以在ReportCount[Reports]
中使用什么公式来计算每次航行的报告提交天数。
有人可以建议吗?
答案 0 :(得分:1)
尝试这个:
=IFERROR(INDEX($G$4:$G$1000, MATCH(0, INDEX(COUNTIF($H$4:H4, $G$4:$G$1000), 0, 0), 0)), "")
我假设您拥有“船期+日期”时的单元格从G4开始。在H4上向下拖动该公式将报告列中唯一的值。 (因此,如果重复其中之一,则只会显示一次)
使用此辅助列,您可以使用COUNTIF
,然后您会得到相应的日子。
希望有帮助
答案 1 :(得分:1)
您可以使用Power Query(Excel 2010+)创建“不同”行的计数。
不需要“报告ID”列。
在Power查询编辑器中,只需
Group By
航行,然后选择Count Distinct Rows
作为操作M代码
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Grouped Rows" = Table.Group(Source, {"Voyage"}, {{"Count", each Table.RowCount(Table.Distinct(_)), type number}})
in
#"Grouped Rows"
来源
结果
答案 2 :(得分:0)