我有48个条目的并行执行,我想做一个关于每次为我运行多少线程Parallel.ForEach的图表。
我在下面看到了调试输出,其中相邻的开始/结束行来自同一个线程。为了快速获得结果,我进入Excel并将它们放入A列:
A
61771961 ParallEx starts
61773115 ParallEx ends
61771961 ParallEx starts
61773271 ParallEx ends
61771961 ParallEx starts
61773287 ParallEx ends
61771961 ParallEx starts
61773318 ParallEx ends
现在我使用=VALUE(MID(A1; 1; 8))
来获取表单的值对:
B C
61771961 61773115
61771961 61773271
61771961 61773287
61771961 61773318
...
然后我在D列中输入数字1..96,并使用=SMALL(B$1:C$96;D1)
来获取任何线程发生更改的有序时间点列表:
D E
1 61771961
2 61771961
3 61771961
4 61771961
5 61772507
6 61773037
7 61773115
8 61773115
9 ...
然后我想找到在每个有趣的时间点运行了多少个线程:
=SUMIFS(B$1:B$96;CONCATENATE(">=";E1);C$1:C$96;CONCATENATE("<=";E1))
但结果始终为零。我的错误在哪里?
答案 0 :(得分:1)
C列中的值均大于您的示例中列E中的值。
C栏:61773115栏E:61771961 您的sumifs正在寻找列应小于或等于E列,它应该可以正常工作,但它也在寻找C列小于它没有找到的E列
希望有所帮助