在excel里,怎么把指定字符后的第一个字母大写

要把order_id_no的形式改成orderIdNo。求助!!!!... 要把order_id _no的形式改成orderIdNo。求助!!!! 展开
 我来答
退休画线工
2018-03-19 · 知道合伙人软件行家
退休画线工
知道合伙人软件行家
采纳数:5412 获赞数:27021
1981年毕业于湖南大学,从事化工设计30多年,精于工程设计

向TA提问 私信TA
展开全部

如图,要替换A3中的内容,但所谓“指定字符”是什么,公式中姑且把“id_”认定为指定字符,公式:

=SUBSTITUTE(SUBSTITUTE(A3,MID(A3,FIND("id_",A3)+3,1),UPPER(MID(A3,FIND("id_",A3)+3,1))),"_","")

追问
指定字符是下划线,把所有下划线后面的字母变成大写
例:client_deli_message_id → clientDeliMessageId
追答

建议简单地以“_"分列后,将首字母替换为大写字母,最后合并。方法简单、直观、易行。否则公式相当复杂,难度虽然不大。此外可考虑VBA。

普通版本,有多少个"_"就用多少个SUBSTITUTE嵌套,如A3中的两个,公式:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3,MID(A3,FIND("_",A3)+1,1),UPPER(MID(A3,FIND("_",A3)+1,1))),MID(SUBSTITUTE(A3,MID(A3,FIND("_",A3)+1,1),UPPER(MID(A3,FIND("_",A3)+1,1))),FIND("_",SUBSTITUTE(A3,MID(A3,FIND("_",A3)+1,1),UPPER(MID(A3,FIND("_",A3)+1,1))),FIND("_",SUBSTITUTE(A3,MID(A3,FIND("_",A3)+1,1),UPPER(MID(A3,FIND("_",A3)+1,1))))+2)+1,1),UPPER(MID(SUBSTITUTE(A3,MID(A3,FIND("_",A3)+1,1),UPPER(MID(A3,FIND("_",A3)+1,1))),FIND("_",SUBSTITUTE(A3,MID(A3,FIND("_",A3)+1,1),UPPER(MID(A3,FIND("_",A3)+1,1))),FIND("_",SUBSTITUTE(A3,MID(A3,FIND("_",A3)+1,1),UPPER(MID(A3,FIND("_",A3)+1,1))))+2)+1,1))),"_","")

Excel的365版本,不管多少个"_",可用公式:

=SUBSTITUTE(TEXTJOIN(,1,SUBSTITUTE(TRIM(MID(SUBSTITUTE(A3,"_",REPT(" ",99)),COLUMN(A:Z)*99-98,99)),LEFT(TRIM(MID(SUBSTITUTE(A3,"_",REPT(" ",99)),COLUMN(A:Z)*99-98,99))),UPPER(LEFT(TRIM(MID(SUBSTITUTE(A3,"_",REPT(" ",99)),COLUMN(A:Z)*99-98,99)))))),LEFT(TEXTJOIN(,1,SUBSTITUTE(TRIM(MID(SUBSTITUTE(A3,"_",REPT(" ",99)),COLUMN(A:Z)*99-98,99)),LEFT(TRIM(MID(SUBSTITUTE(A3,"_",REPT(" ",99)),COLUMN(A:Z)*99-98,99))),UPPER(LEFT(TRIM(MID(SUBSTITUTE(A3,"_",REPT(" ",99)),COLUMN(A:Z)*99-98,99))))))),LOWER(LEFT(TEXTJOIN(,1,SUBSTITUTE(TRIM(MID(SUBSTITUTE(A3,"_",REPT(" ",99)),COLUMN(A:Z)*99-98,99)),LEFT(TRIM(MID(SUBSTITUTE(A3,"_",REPT(" ",99)),COLUMN(A:Z)*99-98,99))),UPPER(LEFT(TRIM(MID(SUBSTITUTE(A3,"_",REPT(" ",99)),COLUMN(A:Z)*99-98,99)))))))))

同时按Ctrl+Shift+Enter三键输入数组公式

图中B3为前面的公式,C后为后面的公式。

sddf643
2018-03-19 · TA获得超过1181个赞
知道大有可为答主
回答量:1298
采纳率:87%
帮助的人:159万
展开全部
按下键盘上的大写字母锁定键,再输入字母 或 在B1中输入或复制粘贴下列公式 =UPPER(A1) 下拉填充 A列的字母都变成大写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落木叶潇潇
2019-11-21 · TA获得超过466个赞
知道小有建树答主
回答量:220
采纳率:100%
帮助的人:117万
展开全部
order_id _no 如果在A1列
则=IF(ISBLANK(A1),"",SUBSTITUTE(PROPER(A1),"-","")) => OrderIdNo
可以通过 TextJoin 和 Left(A1,1)的方式进行首字母不变或者是小写

=IF(ISBLANK(A11),"",
IF(ISNUMBER(FIND("-",A11)),
REPLACE( SUBSTITUTE( PROPER(A11),"-",""),1,1,UPPER(LEFT( SUBSTITUTE( PROPER(A11),"-",""),1))),
REPLACE( A11,1,1,UPPER(LEFT( A11,1)))
)
)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式