公式find函式結合陣列 實現

2021-07-28 16:08:02 字數 1220 閱讀 6702

實現查詢功能" rel="noopener noreferrer">公式find函式結合陣列 實現查詢功能

monster1725

a b  

c2 張三  

三 1  

=count(find(b2,a$2:a$4))

3  李四

4  張三

"我想用函式查詢b列中的字元在a列單元格中出現幾次,比如「三」應該是出現兩次(a2 a4單元格都有「三」字),我在c2單元格用find函式和count函式進行統計,=count(find(b2,a$2:a$4)),但為何結果是1;按f9進行檢查又能得正確結果2;或則按ctrl+shift+enter 也能得正確結果2  

另外:這似乎不是重新計算的問題,在工具--選項--重新計算 重新計算所有文件,也不能得出正確結果2" 

按三鍵相當於使用者讓excel識別這是陣列公式,需特別對待。find(b2,a$2:a$4)返回的是 這列資料

如果不按此操作這個公式只返回陣列中的第1個值:2 

count(2)返回的就是1了。

一般公式只能顯示乙個結果,陣列公式可以對多個結果進行計算顯示

要得到正確的結果,應該寫成 因為這是陣列公式

其他更簡潔寫法:

=countif(a2:a4,"*三*")

在c2和c3單元格輸入的公式一模一樣,但結果卻不一樣 很困惑

a  b  

c2 張三  

三  2  

=find(b2,a$2:a$4)

3 李四 #value!  

=find(b2,a$2:a$4)

4 張三

c2和c3輸入的公式一樣,得出的結果卻不一樣,似乎是不可能的事情。很困惑

公式並沒有錯,這個就是那個什麼什麼交叉引用的結果吧,後乙個引數中只乙個值對應,即是公式所在行相對應的a列單元格,所以第二個公式返回錯誤值,試試,第三個單元格公式又能得到正確值

這是陣列公式,沒加{},所以結果不正確。

a   b  

c2 張三 

三  2  

=find(b2,a$2:a$4) 

相當於 =find(b2,a2)

3 李四 #value! 

=find(b2,a$2:a$4) 

相當於 =find(b2,a3)

4 張三

5  =find(b2,a$2:a$4) 

相當於 =find(b2,a5) 實際上,已經和區域a$2:a$4無關 

指標與函式和陣列結合

先來看看下面面試題 1.float def 10 2.double gh 10 3.double f 10 4.int b 10 5 long fun int 6.int f int,int int 第一題。先看變數 的結合方式以第一題為例 結合方式是 先看變數 分析變數與誰結合 之後再跳出括號從右...

spring結合資料庫實現策略模式 徹底乾掉if

我們公司是做電子合同系統的,電子合同裡面最重要的就是ca證書,其中頒發機構有浙江ca,湖北ca 天威誠信 沃通ca cfca不同的行業客戶對證書的要求都不一樣,普通的客戶一般用天威誠信或者湖北ca就好,有一些金融客戶,可能會要求必須使用某個ca機構的比如必須要求沃通,為了滿足這個需求,想到了設計模式...

運用冒泡法結合陣列,講給定的資料按照降序排列出來

我的程式 01.02.程式的版權和版本宣告部分 05.檔名稱 test.cpp 06.作 者 王魯峰 07.完成日期 2013 年12月2日 08.版 本 號 v1.0 09.對任務及求解方法的描述部分 10.輸入描述 無 11.問題描述 運用冒泡法結合陣列,講給定的資料按照降序排列出來 12.程式...