ecel中如何同時查詢並替換不同的字串

2021-08-16 15:25:52 字數 5029 閱讀 7917

1樓:匿名使用者

首先製作一張數字與姓名對應的**,然後在用函式vlookup()來實現。

語法vlookup(lookup_value,table_array,col_index_num,range_lookup)

lookup_value 為需要在**陣列 (陣列:用於建立可生成多個結果或可對在行和列中排列的一組引數進行運算的單個公式。陣列區域共用一個公式;陣列常量是用作引數的一組常量。

)第一列中查詢的數值。lookup_value 可以為數值或引用。若 lookup_value 小於 table_array 第一列中的最小值,vlookup 返回錯誤值 #n/a。

table_array 為兩列或多列資料。使用對區域或區域名稱的引用。table_array 第一列中的值是由 lookup_value 搜尋的值。

這些值可以是文字、數字或邏輯值。文字不區分大小寫。

col_index_num 為 table_array 中待返回的匹配值的列序號。col_index_num 為 1 時,返回 table_array 第一列中的數值;col_index_num 為 2,返回 table_array 第二列中的數值,以此類推。如果 col_index_num :

小於 1,vlookup 返回錯誤值 #value!。

大於 table_array 的列數,vlookup 返回錯誤值 #ref!。

range_lookup 為邏輯值,指定希望 vlookup 查詢精確的匹配值還是近似匹配值:

如果為 true 或省略,則返回精確匹配值或近似匹配值。也就是說,如果找不到精確匹配值,則返回小於 lookup_value 的最大數值。

table_array 第一列中的值必須以升序排序;否則 vlookup 可能無法返回正確的值。有關詳細資訊,請參閱排序資料。

如果為 false,vlookup 將只尋找精確匹配值。在此情況下,table_array 第一列的值不需要排序。如果 table_array 第一列中有兩個或多個值與 lookup_value 匹配,則使用第一個找到的值。

如果找不到精確匹配值,則返回錯誤值 #n/a。

註解在 table_array 第一列中搜尋文字值時,請確保 table_array 第一列中的資料沒有前導空格、尾部空格、直引號(' 或 ")與彎引號(『或「)不一致或非列印字元。否則,vlookup 可能返回不正確或意外的值。有關詳細資訊,請參閱 clean 和 trim。

在搜尋數字或日期值時,請確保 table_array 第一列中的資料未儲存為文字值。否則,vlookup 可能返回不正確或意外的值。有關詳細資訊,請參閱將儲存為文字的數字轉換為數字值。

如果 range_lookup 為 false 且 lookup_value 為文字,則可以在 lookup_value 中使用萬用字元、問號 (?) 和星號 (*)。問號匹配任意單個字元;星號匹配任意字元序列。

如果要查詢實際的問號或星號,請在該字元前鍵入波形符 (~)。

示例 1

如果將示例複製到一個空白工作表中,可能會更易於理解。

如何複製示例

建立一個空白工作簿或工作表。

在幫助主題中選擇示例。

註釋 請不要選擇行或列標題。

從幫助中選擇示例

按 ctrl+c。

在工作表中,選擇單元格 a1,然後按 ctrl+v。

若要在檢視結果和檢視返回結果的公式之間切換,請按 ctrl+`(重音符),或在「公式」選項卡的「公式稽核」組中,單擊「顯示公式」按鈕。

本示例搜尋大氣特徵表的「密度」列以查詢「粘度」和「溫度」列中對應的值。(該值是在海平面 0 攝氏度或 1 個大氣壓下對空氣的測定。)

1 23 45 67 89 10

a b c

密度 粘度 溫度

0.457 3.55 500

0.525 3.25 400

0.616 2.93 300

0.675 2.75 250

0.746 2.57 200

0.835 2.38 150

0.946 2.17 100

1.09 1.95 50

1.29 1.71 0

公式 說明(結果)

=vlookup(1,a2:c10,2) 使用近似匹配搜尋 a 列中的值 1,在 a 列中找到小於等於 1 的最大值 0.946,然後返回同一行中 b 列的值。(2.17)

=vlookup(1,a2:c10,3,true) 使用近似匹配搜尋 a 列中的值 1,在 a 列中找到小於等於 1 的最大值 0.946,然後返回同一行中 c 列的值。(100)

=vlookup(.7,a2:c10,3,false) 使用精確匹配在 a 列中搜尋值 0.7。因為 a 列中沒有精確匹配的值,所以返回一個錯誤值。(#n/a)

=vlookup(0.1,a2:c10,2,true) 使用近似匹配在 a 列中搜尋值 0.

1。因為 0.1 小於 a 列中最小的值,所以返回一個錯誤值。

(#n/a)

=vlookup(2,a2:c10,2,true) 使用近似匹配搜尋 a 列中的值 2,在 a 列中找到小於等於 2 的最大值 1.29,然後返回同一行中 b 列的值。

(1.71)

示例 2

如果將示例複製到一個空白工作表中,可能會更易於理解。

如何複製示例

建立一個空白工作簿或工作表。

在幫助主題中選擇示例。

註釋 請不要選擇行或列標題。

從幫助中選擇示例

按 ctrl+c。

在工作表中,選擇單元格 a1,然後按 ctrl+v。

若要在檢視結果和檢視返回結果的公式之間切換,請按 ctrl+`(重音符),或在「公式」選項卡的「公式稽核」組中,單擊「顯示公式」按鈕。

本示例搜尋嬰幼兒用品表中「貨品 id」列並在「成本」和「漲幅」列中查詢與之匹配的值,以計算**並測試條件。

1 23 45 6a b c d

貨品 id 貨品 成本 漲幅

st-340 童車 ¥145.67 30%

bi-567 圍嘴 ¥3.56 40%

di-328 尿布 ¥21.45 35%

wi-989 柔溼紙巾 ¥5.12 40%

as-469 吸出器 ¥2.56 45%

公式 說明(結果)

= vlookup("di-328", a2:d6, 3, false) * (1 + vlookup("di-328", a2:d6, 4, false)) 漲幅加上成本,計算尿布的零售價。

(¥28.96)

= (vlookup("wi-989", a2:d6, 3, false) * (1 + vlookup("wi-989", a2:d6, 4, false))) * (1 - 20%) 零售價減去指定折扣,計算柔溼紙巾的銷售**。

(¥5.73)

= if(vlookup(a2, a2:d6, 3, false) >= 20, "漲幅為 " & 100 * vlookup(a2, a2:d6, 4, false) &"%", "成本低於 ¥20.

00") 如果某一貨品的成本大於或等於 ¥20.00,則顯示字串「漲幅為 nn%」;否則,顯示字串「成本低於 ¥20.00」。

(漲幅為 30%)

= if(vlookup(a3, a2:d6, 3, false) >= 20, "漲幅為: " & 100 * vlookup(a3, a2:

d6, 4, false) &"%", "成本為 ¥" & vlookup(a3, a2:d6, 3, false)) 如果某一貨品的成本大於或等於 ¥20.00,則顯示字串「漲幅為 nn%」;否則,顯示字串「成本為 ¥n.

nn」。(成本為 ¥3.56)

示例 3

如果將示例複製到一個空白工作表中,可能會更易於理解。

如何複製示例

建立一個空白工作簿或工作表。

在幫助主題中選擇示例。

註釋 請不要選擇行或列標題。

從幫助中選擇示例

按 ctrl+c。

在工作表中,選擇單元格 a1,然後按 ctrl+v。

若要在檢視結果和檢視返回結果的公式之間切換,請按 ctrl+`(重音符),或在「公式」選項卡的「公式稽核」組中,單擊「顯示公式」按鈕。

本示例搜尋員工表的 id 列並查詢其他列中的匹配值,以計算年齡並測試錯誤條件。

1 23 45 67 a b c d e

id 姓

名 職務 出生日期

1 李 小明 銷售代表 12/8/1968

2 林 彩瑜 銷售副總裁 2/19/1952

3 王 志東 銷售代表 8/30/1963

4 潘 金 銷售代表 9/19/1958

5 林 丹 銷售經理 3/4/1955

6 蘇 術平 銷售代表 7/2/1963

公式 說明(結果)

=int(yearfrac(date(2004,6,30), vlookup(5,a2:e7,5, false), 1)) 針對 2004 財政年度,查詢 id 為 5 的員工的年齡。使用 yearfrac 函式,以此財政年度的結束日期減去出生日期,然後使用 int 函式將結果以整數形式顯示。

(49)

=if(isna(vlookup(5,a2:e7,2,false)) = true, "未發現員工", vlookup(5,a2:e7,2,false)) 如果有 id 為 5 的員工,則顯示該員工的姓氏;否則,顯示訊息「未發現員工」。

(林)當 vlookup 函式返回錯誤值 #na 時,isna 函式返回值 true。

=if(isna(vlookup(15,a3:e8,2,false)) = true, "未發現員工", vlookup(15,a3:e8,2,false)) 如果有 id 為 15 的員工,則顯示該員工的姓氏;否則,顯示訊息「未發現員工」。

(未發現員工)

當 vlookup 函式返回錯誤值 #na 時,isna 函式返回值 true。

=vlookup(4,a2:e7,3,false) & " " & vlookup(4,a2:e7,2,false) & "是" & vlookup(4,a2:

e7,4,false) & "。" 對於 id 為 4 的員工,將三個單元格的值連線為一個完整的句子。(潘金是銷售代表。)

ecel如何查詢並自動填寫對應資料

vlookup函式 vlookup lookup value,table array,col index num,range lookup 第一個引數 lookup value表示你想要根據哪個值來查詢到你想要的資料,比如 可以根據值a可以找到b,那麼lookup value就填寫成 a 第二個引數...

excel如何查詢重複的資料,並分別替換

首先選定你要替換和查詢的區域,選擇 編輯 替換 在彈出的對話方塊中,查詢內容 輸入 a 替換為 入 1 系統就會為你替換了。替換的關係先列表在ef兩列,按e列升序對 ef排序,設有100個資料要替換。c1輸入公式 lookup b1,e1 e100,f1 f100 下拖。然後複製c列,選擇性貼上資料...

在中批量替換字型時如何同時替換數字的字型

原因是數字的字型不是gb12,當進行替換時,不會對數字進行操作 可以分兩步 第一步對漢字替換,這個你已經完成 第二步 查詢 0 9 勾選使用萬用字元 替換為 設定替換字型為 仿宋 全部替換。如何把一個word文件中的所有數字和字母替換成某一特定字型格式呢?以wps 2019版為例 1 開啟文件 2 ...