在Excel中搜索特定的值,如果找到该值,则将其左侧单元格中的文本提取出来。
在Excel中搜索特定的值,如果找到该值,则将其左侧单元格中的文本提取出来。
首先,让我解释一下我想要实现的目标。
我目前有一个像这样的Excel表格:
姓名 | 标准
詹姆斯 | 标准1
詹姆斯 | 标准2
詹姆斯 | 标准3
弗朗西斯 | 标准1
弗朗西斯 | 标准2
弗朗西斯 | 标准3
利昂 | 标准2
利昂 | 标准3
彼得 | 标准2
迈克尔 | 标准3
我想创建一个像这样的表格:
标准 | 名字1 | 名字2 | 名字3 | 名字4
标准1 | 詹姆斯 | 弗朗西斯 | |
标准2 | 詹姆斯 | 弗朗西斯 | 利昂 | 彼得
标准3 | 詹姆斯 | 弗朗西斯 | 利昂 | 迈克尔
我的真实Excel中有超过300个标准,所以我想使用Excel公式来自动化这个过程。我知道这是可能的,但我已经有一段时间没有使用Excel了,所以我需要一点指导。
我认为我需要以下几点:
- 需要计算名字列中人们提到每个标准的次数。所以我想知道我需要2个名字来表示标准1,以及4个名字来表示标准3。我认为我可以通过使用COUNTIF方法来实现这一点。
- 我们需要搜索标准的位置。我认为我可以通过使用MATCH函数来实现这一点。它可以给出在原始Excel中第一个匹配项的位置。通过将我的原始Excel按字母顺序排序并与COUNTIF的结果相结合,我可以知道所有匹配项的位置(第一个匹配项+COUNTIF = 最后一个匹配项的位置,中间的所有内容也是该标准)。
- 对于提到标准的第一个名字,我将引用第一个匹配项左边的单元格(因为名字在我找到的标准左边的单元格中)。对于第二个名字,我将引用第一个匹配项下方的单元格左边的单元格。我会一直这样做,直到找到与Countif中提到的名字数量相同的名字。所以我需要一个IF语句,确保如果有2个人提到标准1,则只有2个名字和2个单元格为空。
- 如何引用这些单元格?通过使用另一个if语句,使用这个链接中的方法:Excel Reference To Current Cell ,请纠正我是否错误,但是我不能只是说THIS.CELL=我找到的单元格位置(可能应该在这里使用INDIRECT函数?)。
这只是我脑力激荡的结果,但我很想知道是否有人对我的问题有其他想法或对我的当前计划有一些反馈。
需要注意的一件重要的事情是,我想使用Excel公式来实现这个目标。我意识到这并不总是最好的选择,但目前不考虑使用VBA。我也不担心性能问题,因为我认为在使用公式找到所有名字后,我只需复制所有的值。
提前感谢您的帮助!
在Excel中搜索特定值并找到后,将该值左边单元格的文本提取出来的问题。这个问题出现的原因是,当使用公式将1转换为姓名或""时,有时会得到""。在这一步之后,我想通过删除所有答案为""的单元格来使其看起来更好。问题是,我不能使用F5->选项->空白来查找所有的空白单元格,因为它实际上不是一个空白单元格(它是一个返回""的公式单元格)。所以问题是,如何只选择带有""的单元格以便我可以删除它们?
解决方法是使用筛选功能来选择带有""的单元格。可以按照以下步骤操作:
1. 选择要筛选的数据范围。
2. 在Excel菜单栏中,选择“数据”选项卡。
3. 在“筛选”组中,点击“筛选”按钮。
4. 在要筛选的列的标题行上点击下拉箭头。
5. 在下拉菜单中,选择“文本过滤”或“数字过滤”选项,具体取决于你期望的筛选结果是文本还是数字。
6. 在文本或数字过滤对话框中,选择“等于”或“不等于”选项,然后在文本框中输入""。
7. 点击“确定”按钮,筛选结果将只显示带有""的单元格。
8. 可以按Ctrl键加鼠标左键,选择这些单元格并按Delete键删除它们。
通过这种方法,你可以选择并删除带有""的单元格,从而实现将空白单元格移动到左侧的效果。