c语言find和mid函数的使用方法,【原创】图文讲解Excel中“find、left、right、mid以及len”等函数的联体使用...

话说好久没有敲点有文化营养的东西咯。今日恰好遇到了,我就把这些个值得学习的函数使用方法结合今早遇到的问题记录下来。呵呵,一来么给大家以后遇到时有个参考,二来么防止日后我再次用到时记不清具体的操作咯。

情况是这样的:今早我手头上有一份综合清单,而我现在需要把清单中的内容按照不同的性质分列成单独的清单。咳咳,由于表格内容的不方便展示,所以我这里表达起来也比较困难,我还是截图给大家看看究竟是要做个什么事情。额,对了,当中的数据内容纯属胡扯瞎掰掰咯,不要当真。主要是看一下操作的过程!

44369135_1.jpg

44369135_2.jpg

FIND用来对原始数据中某个字符串进行定位,以确定其位置。

使用语法

FIND(find_text,within_text,start_num)

Find_text 是要查找的文本。

Within_text 是包含要查找文本的文本。

Start_num 指定开始进行查找的字符。within_text 中的首字符是编号为 1 的字符。如果忽略 start_num,则假设其为 1。此种情况就相当于从第一个字符就开始找啊找。如果说有一个大概的位置,就可以缩小找的范围,比如说从第“4”个字符开始找。咳咳,对于这点本人认为没有必要去想这个Start_num应该设做几。毕竟,计算机本就是给懒人用的。我才懒得去管他大概从几开始,反正从第一个开始绝对不会错就成。所以呀,对于这个我一般无视处理。

如果 find_text 是空文本 (""),则 FIND 则会返回数值1。

Find_text 中不能包含通配符。

如果 within_text 中没有 find_text,则 FIND返回错误值 #VALUE!。

如果 start_num 不大于 0,则 FIND返回错误值 #VALUE!。

如果 start_num 大于 within_text 的长度,则 FIND 返回错误值 #VALUE!。

其实吧,在我眼里此公式就只相当于于

find(“要找的那个特殊字符”,用鼠标选择找寻的区域:可以是一个单元格,也可以是一片单元区)。

对了,先说明一下:这里我之所以“放屁脱裤子多找麻烦”的还要罗嗦用到“查找替换2”这一步,主要是为了防止出现“2”前面的数据可不一定是清一色的“部”字结尾咯。此外,最重要的是由于后边我要用mid函数提取中间部分的时候,会用到“2”所在的位置!具体的后边会逐一说到。

应用示例:

44369135_3.jpg

此处的find函数相当于:

find(特殊字符2这个东西,查找的区域)

至于left函数的具体用法我过去就曾写过一篇相关的日志用法,再次就不再做阐述。这里就简单说下:

Left(用来提取所需字符串的区域,从左边数所提取的字符串长度)

44369135_4.jpg

此处的left函数相当于:

left(查找的区域,从左边数所提取的字符串长度)

44369135_5.jpg

对了,这里当中需要用“选择性粘贴——数值”把当前的left函数作用断开,然后再用替换完成“部门清单”的列表工作:

44369135_6.jpg

哈哈,此例恰好前面的部门都以“部”字结尾,所以当然可以直接取“部”这个特殊字的前边。额,对于这个我就不重复叙述,和“2”是一样的,至少不用多走最后这一步“替换”咯。

而对于中间部分的“工号清单”的提取,我用mid函数;

MID既不从第一位开始截取,也不从最后一位开始截取,而是由用户自行指定开始的位置和字符的长度。

使用语法

MID(text,start_num,num_chars)

Text 是包含要提取字符的文本字符串,可以直接输入含有目标文字的单元格名称。

Start_num 是文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,以此类推。

Num_chars 指定希望 MID 从文本中返回字符的个数。

注意:

如果 start_num 大于文本长度,则 MID 返回空文本 ("")。

如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。

如果 start_num 小于 1,则 MID 返回错误值 #VALUE!。

如果 num_chars 是负数,则 MID 返回错误值 #VALUE!。

如果 num_bytes 是负数,则 MIDB 返回错误值 #VALUE!。

应用示例:

44369135_7.jpg

此处的mid函数相当于:

mid(工号所在的区域,工号开头的第一个数字2所在的位置,工号的字符串长度)

此处,函数中的“B2”就等于“6”,所以,mid(A2,B2,10)中 “6”表示从第6位开始,“10”表示共截取8个字符。而“A2”自然就表示在单元格A2处咯。

对了最后的right函数这里,我要提一下与Len函数的配套使用。当然left函数也是如此。因为,right函数以及left函数的公式中都要提供一个所要提取的字符串长度数值。而len函数恰好是用来计算字符串长度的。所以他们配套起来使用将是“威力大增”啊。

分开阐述:

Len 函数:返回字符串内字符的数目,或是存储一变量所需的字节数。

Len(string | varname)

参数

string

任意有效的字符串表达式。如果 string 参数包含 Null,则返回 Null。

Varname

任意有效的变量名。如果 varname 参数包含 Null,则返回 Null。

len(2003/5/29),表示的为2003/5/29的计算结果13.8137931034483

所以为16位的。如果计算字符串则应该用"",len("2003/5/29")

44369135_8.jpg

RIGHT截取的方式是从最后一个字符开始,从后往前截取用户指定长度的内容。

使用语法

RIGHT(text,num_chars)

RIGHTB(text,num_bytes)

Text 是包含要提取字符的文本字符串,可以直接输入含有目标文字的单元格名称。

Num_chars 指定希望 RIGHT 提取的字符数。

注意:Num_chars 必须大于或等于 0。

如果 num_chars 大于文本长度,则 RIGHT 返回所有文本。

如果忽略 num_chars,则假定其为 1。

应用示例:

44369135_9.jpg

现综合起来看:

44369135_10.jpg

此处用的公式right(A2,len(A2)-B2-9)当中的“A2”是所要用right函数来返回的内容所在的区域;“len(A2)”表示的是A2这个单元格中的所有东西总共的字符长度数值,而“B2”前边解释过是用find函数确定出的2所在的位置;“9”是个数学思维,因为工号是10位,而工号的第一位2已经包含在B2中,所以这里只需用“len(A2)-B2-9”就可以精确地计算出工号后边所剩余的字符串长度数值。

好了,噼里啪啦敲了这么多,总算是把这件理想化的事情给解决完了。当中用到了find函数、left函数、right函数、mid函数以及len函数。呵呵,5个函数的联合使用才完成了这一完美的“史话”。。哈哈,好了,就到此结束吧。希望当中这5个函数的操作过程阐述还算清晰明了!

44369135_11.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于你的问题,我可以为你提供一些帮助。 首先,让我们来看看如何使用C语言实现类似于STL的find函数。以下是一个简单的示例代码: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> int find(int *arr, int size, int target) { for(int i = 0; i < size; i++) { if(arr[i] == target) { return i; } } return -1; } int main() { int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(int); int target = 4; int result = find(arr, size, target); printf("the index of %d is %d\n", target, result); return 0; } ``` 在这个例子,我们使用了一个简单的for循环来遍历整个数组,如果我们找到了目标元素,就返回它的索引。如果查找失败,我们返回-1。 接下来,让我们看看如何在C++使用find_if()函数。以下是一个示例代码: ```c++ #include <iostream> #include <vector> #include <algorithm> bool isOdd(int i) { return i % 2 == 1; } int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; auto it = std::find_if(vec.begin(), vec.end(), isOdd); if(it != vec.end()) { std::cout << "the first odd number is " << *it << std::endl; } else { std::cout << "no odd number is found" << std::endl; } return 0; } ``` 在这个例子,我们使用了一个名为isOdd()的函数来检查一个数字是否为奇数。我们使用std::find_if()函数来查找第一个奇数。如果找到了奇数,我们输出它的值。否则,我们输出一条消息表示没有找到奇数。 希望这些示例代码能够帮助你回答你的问题!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值