這個題測出了你的Excel水平

  大家好,今天和大家分享的「這個題測出了你的Excel水平”,先申明,我這個也只是一個簡單的測試,也不能說明什麼問題和大家的水平,有興趣的朋友可以往下看下去。我們只當做一次娛樂。測試一下自己的Excel水平在那一個等級,這裡把Excel分為菜鳥級,初級,中級,高級。題目要求:動態統計不連續的A列,C列,F列「小老鼠」的個數。也就是這三列的數據會經常更新

這個題測出了你的Excel水平

一、菜鳥級別用戶解法:

1、手動一個一個去數

2、通過查找功能去數

二、初級用戶解法:

1、公式截圖

這個題測出了你的Excel水平

2、公式

=COUNTIF(A:A,”小老鼠”) COUNTIF(C:C,”小老鼠”) COUNTIF(F:F,”小老鼠”)

3、公式解釋

統計每一列用一個countif,這個公式的缺點就是如果統計的列多了,公式就很長了

用countif函數按條件統計個數,這個函數有2個參數,第1參數:要統計的單元格區域,第2參數:要統計的條件

三、中級用戶的解法:

1、公式截圖

這個題測出了你的Excel水平

2、公式

=SUM(COUNTIF(OFFSET(A:A,0,{0,2,5}),”小老鼠”))

3、公式解釋

offset函數這裡返回三列

返回的這三列作countif函數的第1參數,把這三列每一列都統計一次,因些countif返回3個結果,{1,2,3},所以最外面還在用sum求和一次

Offset函數這裡用了3個參數,第4,第5參數省略了

OFFSET(A:A,0,{0,2,5})函數第1參數用了整列,大家看清楚是一整列,你是否想得這樣的用法了,第2參數偏移的行,行不偏移,那還是指A列,第3參數偏移列,這裡用了數組的用法,{0,2,5},0表示不偏移,還是指A列,2偏移2列指C列,5偏移5列指F列,也就是通過offset得到這三列作countif的第1參數

四、高級用戶解法

自己編程寫了一個查詢功能的代碼,

1、動畫操作效果

這個題測出了你的Excel水平

2、代碼

Option Explicit

Sub test()

Dim Rg As Range, ST, S, k

On Error Resume Next

ST = InputBox(”請輸入查找值”, ”佛山小老鼠:溫馨提示”, , 200, 4000)

If Err <> 0 Or ST = ”” Then Exit Sub

Set Rg = Union([A:A], [C:C], [F:F]).Find(ST, lookat:=xlWhole)

If Rg Is Nothing Then MsgBox ”找不到”, 64, ”提示”: Exit Sub

S = Rg.Address

Do

Set Rg = Union([A:A], [C:C], [F:F]).Find(ST, Rg, lookat:=xlWhole)

k = k 1

Loop While Rg.Address <> S

MsgBox ”找到” & ST & ”數量:” & k, 64, ”結果”

End Sub

3、代碼操作方法

快捷鍵alt F11打開vba後台

插入菜單,插入模塊

這個題測出了你的Excel水平

復制上面的代碼,黏貼到模塊的空白處

把光標點到代碼任意一行,點按鈕運行

這個題測出了你的Excel水平