回覆列表
  • 1 # 套路Excel

    問題一:

    假設工作簿中有四個分表,一四個分表的A1單元格各有不同的資料,如下圖

    在總表中輸入下麵公式:

    =SUM(分表1!A1,分表2!A1,分表3!A1,分表4!A1)

    這是最直接的做法。適用於工作表數量固定的情況。

    也可以使用下列公式,直接一步到位:

    =sum("*"!a1)

    公式輸入後會自動變成:=SUM(分表1:分表4!A1)

    如果是一個單元格區域,同樣道理。

    問題二:

    如果你需要統計字元的表格名稱比較有規律,則可以使用函式來實現。

    如下圖,四個工作表的名稱分別為分表1、分表2、分表3、分表4,要統計這4個分表的A1:A5單元格內字元A的個數。

    公式是:=SUM(COUNTIF(INDIRECT("分表"&ROW(1:4)&"!A1:A5"),A1))

    該公式是陣列公式,需要在鍵盤上同時按Ctrl+Shift+Enter三鍵,這樣才會出現大括號。注意,大括號不是打上去的。

    公式注釋:

    1、ROW(1:4)生成一個1-4的陣列,{1;2;3;4}

    2、INDIRECT("分表"&ROW(1:4)&"!A1:A5")就表示分表1到分表4,四個工作表的A1:A5單元格區域。

    3、Countif自然是對字元A進行計數了。

    COUNTIF(INDIRECT("分表"&ROW(1:4)&"!A1:A5"),A1)

    結果為:

    {1;0;1;1}

    4、最後用sum函式求和,即得出結果 3.

    如果工作表的名稱沒有規律,上面的函式辦法就行不通了。

    只能夠使用VBA,如下圖:

    圖片程式碼如下:

    文字程式碼如下:修改程式碼的時候,修改下麵內容:

    要統計的字元 = "A",將雙引號內的字元A修改為想要的字元

    工作表集合 = Array("分表1", "分表2", "不一樣", "分表4")

    將要統計的工作表,按格式新增到Array括號內。

    Sub vv()

    Dim 工作表集合

    Dim sht, s%

    Dim 要統計的字元

    要統計的字元 = "A" "要統計的字元

    "要統計的工作表們

    工作表集合 = Array("分表1", "分表2", "不一樣", "分表4")

    For Each sht In 工作表集合

    With Sheets(sht)

    s = s + Application.CountIf(.[a1:a5], 要統計的字元)

    "[a1:a5]表示A1:A5單元格

    End With

    Next

    MsgBox s

    "輸出到工作表選用下列語句

    "sheets("總表").[b2]=s

    End Sub

  • 中秋節和大豐收的關聯?
  • 進入火星軌道的特斯拉,車體上的塑膠、皮革材料能否經受住太空惡劣環境的考驗?