2017-09-14 43 views
0

我有這樣如何使用COUNTIF/SUMIF這裏給出日期爲列標題在MySQL或Excel

Input file as mobile numbers and their daily data usage in MB

表我想在一列日期和手機號碼的數量在每個日期輸出它已經跨越了150 MB的使用量以及它們在下一列中的使用總和。

Output

輸入樣例:

mobile_no,1九月17,2九月17,3九月17,4九月17,5九月17
33045 ,50,110,200,100,34
33046,23,123,30,480,230
33047,102,217,23,145,186
33048,165,201,230,230,149
33049,22,229,160,71,173

+0

此處日期是輸入文件中的列標題。 –

+0

您可以檢查您顯示的預期輸出是否基於示例輸入。根據你的邏輯,我沒有得到相同的輸出的某些日期 – akrun

+0

請提供[可重現的例子](http://stackoverflow.com/questions/5963269) – zx8754

回答

1

R,我們可以把它gather以「長」格式,然後通過「日期」欄分組,得到的「mobile_no」的數量也「VAL」

library(tidyverse) 
df1 %>% 
    gather(Date, val, -mobile_no) %>% 
    filter(val > 150) %>% 
    group_by(Date) %>% 
    summarise(Count = n(), Sum_of_Usage = sum(val)) 
# A tibble: 5 x 3 
#  Date Count Sum_of_Usage 
#  <chr> <int>  <dbl> 
#1 1-Sep-17  1   165 
#2 2-Sep-17  3   647 
#3 3-Sep-17  3   590 
#4 4-Sep-17  2   710 
#5 5-Sep-17  3   589 
+1

它工作正常。如果我想將它分組在桶中,如0-50,50-100,100-150和150+ –

+0

@Dau_uaD您可以使用'cut'創建組 – akrun

4

Cell H2的總和輸入以下式

=OFFSET($A$1,0,ROW()-1) 

然後在Cell I2輸入

=SUMPRODUCT(($B$1:$F$1=H2)*($B$2:$F$6>150)) 

最後在Cell J2輸入

=SUMPRODUCT(($B$1:$F$1=H2)*($B$2:$F$6>150)*($B$2:$F$6)) 

根據需要拖放/複製公式。根據您的數據更改範圍。請參閱圖片以供參考。

enter image description here

+0

它的工作原理 –

+1

@Dau_uaD - 太棒了! – Mrig

相關問題