encodeURI(),encodeURIComponent()区别

encodeURI(),encodeURIComponent()区别

encodeURI(): 对整个url(链接/网络链接)进行编码。
对中文,完全编码。
对英文不带空格则不会编码,带空格则会对空格编码。
解码:decodeURI()

例如:
let ChineseUrl = "https://baidu.com/uat/share?server=服务器&language=英语&shareId=0123456&sport=足球&subject=运动&name=鱼&testResult=成功&nobanner=true";
ChineseUrl = encodeURI(ChineseUrl); 
console.log(ChineseUrl);
// https://baidu.com/uat/share?server=%E6%9C%8D%E5%8A%A1%E5%99%A8&language=%E8%8B%B1%E8%AF%AD&shareId=0123456&sport=%E8%B6%B3%E7%90%83&subject=%E8%BF%90%E5%8A%A8&name=%E9%B1%BC&testResult=%E6%88%90%E5%8A%9F&nobanner=true

let EnglishUrl = "https://baidu.com/uat/share?server=server&language=en&shareId=0123456&sport=football&subject=sport&name=yu&testResult=success&nobanner=true";
EnglishUrl = encodeURI(EnglishUrl);
console.log(EnglishUrl);
// https://baidu.com/uat/share?server=server&language=en&shareId=0123456&sport=football&subject=sport&name=yu&testResult=success&nobanner=true

let EnglishUrl2 = "https://baidu.com/uat/share?server=https:example.com/?language=en&shareId=0123456&sport=football&subject=sport&name=zhang san&testResult=success&nobanner=true";
EnglishUrl2 = encodeURI(EnglishUrl2);
console.log(EnglishUrl2);
// https://baidu.com/uat/share?server=https:example.com/?language=en&shareId=0123456&sport=football&subject=sport&name=zhang%20san&testResult=success&nobanner=true

encodeURIComponent(): 对url(链接/网络链接)的问号(?)后进行编码
encodeURIComponent(): 对整个url(链接/网络链接)进行编码,在浏览器不会打开。
对中文,完全编码。
对英文不带空格则不会编码,带空格则会对空格编码。
解码:decodeURIComponent()

let ChineseUrl = "https://baidu.com/uat/share?server=服务器&language=英语&shareId=0123456&sport=足球&subject=运动&name=张三&testResult=成功&nobanner=true";
ChineseUrl = encodeURIComponent(ChineseUrl);
console.log(ChineseUrl);
// https%3A%2F%2Fbaidu.com%2Fuat%2Fshare%3Fserver%3D%E6%9C%8D%E5%8A%A1%E5%99%A8%26language%3D%E8%8B%B1%E8%AF%AD%26shareId%3D0123456%26sport%3D%E8%B6%B3%E7%90%83%26subject%3D%E8%BF%90%E5%8A%A8%26name%3D%E5%BC%A0%E4%B8%89%26testResult%3D%E6%88%90%E5%8A%9F%26nobanner%3Dtrue

let chineseServer = "服务器";
chineseServer = encodeURIComponent(chineseServer);
let chineseLanguage = "英语";
chineseLanguage = encodeURIComponent(chineseLanguage);
let chineseShareId = "0123456";
chineseShareId = encodeURIComponent(chineseShareId);
let chineseSport = "足球";
chineseSport = encodeURIComponent(chineseSport);
let chineseSubject = "运动";
chineseSubject = encodeURIComponent(chineseSubject);
let chineseName = "张三";
chineseName = encodeURIComponent(chineseName);
let chineseTestResult = "成功";
chineseTestResult = encodeURIComponent(chineseTestResult);
let ChineseUrl2 = `https://baidu.com/uat/share?server=${chineseServer}&language=${chineseLanguage}&shareId=${chineseShareId}&sport=${chineseSport}&subject=${chineseSubject}&name=${chineseName}&testResult=${chineseTestResult}&nobanner=true`;
console.log(ChineseUrl2);
// https://baidu.com/uat/share?server=%E6%9C%8D%E5%8A%A1%E5%99%A8&language=%E8%8B%B1%E8%AF%AD&shareId=0123456&sport=%E8%B6%B3%E7%90%83&subject=%E8%BF%90%E5%8A%A8&name=%E5%BC%A0%E4%B8%89&testResult=%E6%88%90%E5%8A%9F&nobanner=true

let englishServer = "server";
englishServer = encodeURIComponent(englishServer);
let englishLanguage = "en";
englishLanguage = encodeURIComponent(englishLanguage);
let englishShareId = "0123456";
englishShareId = encodeURIComponent(englishShareId);
let englishSport = "football";
englishSport = encodeURIComponent(englishSport);
let englishSubject = "sport";
englishSubject = encodeURIComponent(englishSubject);
let englishName = "zhang san";
englishName = encodeURIComponent(englishName);
let englishTestResult = "success";
englishTestResult = encodeURIComponent(englishTestResult);
let englishUrl = `https://baidu.com/uat/share?server=${englishServer}&language=${englishLanguage}&shareId=${englishShareId}&sport=${englishSport}&subject=${englishSubject}&name=${englishName}&testResult=${englishTestResult}&nobanner=true`;
console.log(englishUrl);
// https://baidu.com/uat/share?server=server&language=en&shareId=0123456&sport=football&subject=sport&name=zhang%20san&testResult=success&nobanner=true

**

encodeURI(),encodeURIComponent()区别:

encodeURI()不会对 ASCII字母、数字、~!@#$&()=:/,;?+'字符编码
encodeURIComponent()不会对ASCII字母、数字、~!
()'字符编码

<think>嗯,用户想了解Excel中的VLOOKUP函数的用法参数含义。首先,我需要回忆一下VLOOKUP的基本结构。VLOOKUP是垂直查找函数,用于在表格的首列查找指定的值,然后返回该行中指定列的数据。它的四个参数分别是查找值、表格范围、列索引号匹配模式。 接下来,我得确认每个参数的具体作用。第一个参数是lookup_value,也就是用户要查找的值,比如产品ID或者姓名。第二个参数是table_array,即查找的范围,这里要注意的是,查找值必须位于这个范围的第一列,否则函数无法正确工作。第三个参数是col_index_num,也就是用户想要返回的数据在表格范围中的第几列,这个列数是从表格范围的第一列开始算起的,不是整个工作表的列。第四个参数是range_lookup,决定是精确匹配还是近似匹配,通常用FALSE或0来指定精确匹配,避免错误。 然后,用户可能需要一个具体的例子来理解如何使用。比如,假设有一个产品价格表,用户想根据产品ID查找对应的价格。这时候,VLOOKUP就可以在ID列查找,然后返回价格列的数据。同时,要提醒用户注意表格范围最好使用绝对引用,比如$A$2:$C$100,这样在拖动公式时范围不会变化。 可能遇到的问题也需要考虑。比如,如果查找值不在表格的第一列,或者列索引号超过了表格的列数,函数会返回错误。此外,数据格式不一致也可能导致问题,比如查找值是数字,而表格中是文本格式的数字,这时候需要统一格式。还有,当出现#N/A错误时,可能是查找值不存在,或者匹配模式设置不正确,需要检查参数是否正确。 用户可能还会问到如何避免常见的错误,比如部分数据匹配出错的情况。这时候需要检查是否有多余的空格,或者数据格式不一致,或者表格范围没有锁定导致拖动时偏移。此外,XLOOKUP作为VLOOKUP的升级版,可能在某些情况下更方便,比如可以向左查找或者返回多列数据,这也是可以提及的内容。 最后,整理步骤,从基础语法到参数说明,再到具体案例,逐步引导用户理解如何使用VLOOKUP函数。同时,提供常见错误解决方法,帮助用户在实际应用中避免问题。如果有必要,还可以比较VLOOKUP其他查找函数的区别,比如HLOOKUP或XLOOKUP,但根据用户的问题,主要集中在VLOOKUP本身即可。</think>### Excel VLOOKUP函数详解 #### 一、基础语法与参数说明 VLOOKUP函数的语法为: $$=VLOOKUP(lookup\_value, table\_array, col\_index\_num, [range\_lookup])$$ 包含4个参数: 1. **lookup_value**(必填):要查找的值(如单元格引用或具体值) 2. **table_array**(必填):包含数据的表格范围(必须包含查找列返回列) 3. **col_index_num**(必填):返回值所在列的序号(从table_array第一列开始计数) 4. **range_lookup**(可选):匹配类型 - `TRUE`/`1`:近似匹配(默认值,需数据升序排列) - `FALSE`/`0`:精确匹配(常用选项) [^1][^2] #### 二、使用步骤演示(工资表查询案例) 假设需要根据员工编号查询工资: 1. 建立查询单元格(如`B12`) 2. 输入公式: ```excel =VLOOKUP(A12, $A$2:$D$100, 4, 0) ``` - `A12`:待查询的员工编号 - `$A$2:$D$100`:锁定数据区域(绝对引用) - `4`:返回第4列(工资列) - `0`:精确匹配 [^2][^3] #### 三、常见错误与解决方法 | 错误现象 | 原因 | 解决方案 | |---------|------|---------| | #N/A | 查找值不存在 | 检查数据源或改用`IFERROR`容错 | | #REF! | 列序号超出范围 | 确认col_index_num ≤ 表格列数 | | 部分匹配失败 | 数据格式不一致 | 统一数值/文本格式 | | 结果错位 | 表格未锁定 | 使用`$`符号固定区域引用 | [^3][^4] #### 四、进阶技巧 1. **多条件查询**: 使用辅助列合并多个条件字段 ```excel =VLOOKUP(A2&B2, $D$2:$F$100, 3, 0) ``` 2. **通配符匹配**: `"*"`匹配任意字符,`"?"`匹配单个字符 ```excel =VLOOKUP("张*", $A$2:$C$100, 3, 0) ``` 3. **跨表查询**: 引用其他工作表数据 ```excel =VLOOKUP(A2, Sheet2!$A$2:$D$100, 4, 0) ``` [^1][^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值