Excel中如何将阿拉伯语月份名称转换为对应月份数字
Excel中阿拉伯语月份名称转对应数字的实现方法
原有通用公式=MONTH(DATEVALUE(A2&"1"))的识别逻辑依赖Office/系统的区域语言设置,当默认语言不包含阿拉伯语时,就无法识别阿拉伯语书写的月份名称,可根据自身使用的Excel版本选择以下方案实现转换:
方案1:全版本通用映射法(稳定性最高,无需修改系统设置)
该方案不依赖系统语言环境,直接通过文本匹配返回对应月份数字,不会受区域设置变动影响。
首先明确公历阿拉伯语标准月份与数字的对应关系:
- 1月:يناير
- 2月:فبراير
- 3月:مارس
- 4月:أبريل
- 5月:مايو
- 6月:يونيو
- 7月:يوليو
- 8月:أغسطس
- 9月:سبتمبر
- 10月:أكتوبر
- 11月:نوفمبر
- 12月:ديسمبر
如果使用Excel 2019及以上版本,可直接用SWITCH函数做匹配,假设阿拉伯语月份存放在A2单元格,公式如下:
=SWITCH(A2,"يناير",1,"فبراير",2,"مارس",3,"أبريل",4,"مايو",5,"يونيو",6,"يوليو",7,"أغسطس",8,"سبتمبر",9,"أكتوبر",10,"نوفمبر",11,"ديسمبر",12,"未识别到有效月份")
如果使用Excel 2016及更早版本(无SWITCH函数),可使用MATCH数组公式,旧版Excel输入公式后需按Ctrl+Shift+Enter确认数组运算,365/2021及以上版本直接回车即可生效:
=MATCH(A2,{"يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"},0)
提示:如果表格中使用的是阿拉伯语方言的月份简称、变体叫法,只需将公式中的阿拉伯语文本替换为表格内实际出现的月份文本即可,匹配准确率为100%。
方案2:调整Office语言设置复用原有公式
如果不想编写长映射公式,可修改Office默认编辑语言,让原有DATEVALUE逻辑直接识别阿拉伯语月份:
- 打开Excel,依次点击「文件」-「选项」-「语言」
- 在编辑语言列表中添加阿拉伯语,并将其设置为优先级最高的编辑语言
- 重启Excel后,原有
=MONTH(DATEVALUE(A2&"1"))公式即可正常识别阿拉伯语月份
- 注意:该方案会修改Office全局日期识别规则,如果表格内同时存在其他语言的日期文本,可能出现识别错误。
方案3:Excel 365辅助列匹配法
如果使用Microsoft 365版本,可单独建立辅助列存放映射关系,后续维护更灵活:
- 在空白区域(比如C2:C13单元格)依次填入所有出现过的阿拉伯语月份文本
- 在相邻的D2:D13单元格填入对应的1-12月份数字
- 在需要返回结果的单元格输入以下公式即可:
=XLOOKUP(A2,$C$2:$C$13,$D$2:$D$13,"未识别到有效月份")
后续如果遇到新的月份变体,直接在辅助列新增对应映射关系即可,无需修改公式。
内容的提问来源于stack exchange,提问作者Amira Elsayed Ismail
相关产品推荐
相关产品推荐

