Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel公式,用于提取在包含字符串数据的单元格中的列表中找不到的字符串_Excel_Excel Formula - Fatal编程技术网

Excel公式,用于提取在包含字符串数据的单元格中的列表中找不到的字符串

Excel公式,用于提取在包含字符串数据的单元格中的列表中找不到的字符串,excel,excel-formula,Excel,Excel Formula,我有两张工作表,如本例所示: 工作表1 A 1 |你喜欢做什么运动 2 |篮球、足球、足球 3 |篮球、足球、足球、垒球 4 |足球、足球、网球 工作表2 A 1 |可供选择的运动项目列表: 2 |篮球 3 |足球 4 |足球 5 |其他 我需要一个公式,告诉我学生在我的示例中为其他选项(如垒球和网球)写了什么。在工作表1中,假设返回的答案从A2开始,您可以使用此公式,并向下拖动每个答案: =IF(OR(SUBSTITUTE(RIGHT

我有两张工作表,如本例所示:

工作表1

                A
  • 1 |你喜欢做什么运动
  • 2 |篮球、足球、足球
  • 3 |篮球、足球、足球、垒球
  • 4 |足球、足球、网球
  • 工作表2

                A
    
  • 1 |可供选择的运动项目列表:
  • 2 |篮球
  • 3 |足球
  • 4 |足球
  • 5 |其他

  • 我需要一个公式,告诉我学生在我的示例中为其他选项(如垒球和网球)写了什么。

    在工作表1中,假设返回的答案从A2开始,您可以使用此公式,并向下拖动每个答案:

    =IF(OR(SUBSTITUTE(RIGHT(SUBSTITUTE(A2,",",REPT(" ",99)),100)," ","")="basketball",SUBSTITUTE(RIGHT(SUBSTITUTE(A2,",",REPT(" ",99)),100)," ","")="football",SUBSTITUTE(RIGHT(SUBSTITUTE(A2,",",REPT(" ",99)),100)," ","")="soccer"),"",SUBSTITUTE(RIGHT(SUBSTITUTE(A2,",",REPT(" ",99)),100)," ",""))
    
    这将返回逗号后列出的最后一项运动,该运动不是篮球、足球或足球,否则返回空白


    在工作表1中,假设返回的答案从A2开始,您可以使用此公式,并向下拖动每个答案:

    =IF(OR(SUBSTITUTE(RIGHT(SUBSTITUTE(A2,",",REPT(" ",99)),100)," ","")="basketball",SUBSTITUTE(RIGHT(SUBSTITUTE(A2,",",REPT(" ",99)),100)," ","")="football",SUBSTITUTE(RIGHT(SUBSTITUTE(A2,",",REPT(" ",99)),100)," ","")="soccer"),"",SUBSTITUTE(RIGHT(SUBSTITUTE(A2,",",REPT(" ",99)),100)," ",""))
    
    这将返回逗号后列出的最后一项运动,该运动不是篮球、足球或足球,否则返回空白


    这可能需要vba。您知道我在哪里可以找到这样做的代码吗?我对vba不是很熟悉,但已经使用过几次了。您需要创建它,您需要将当前列表加载到集合或词典中,然后在
    上拆分学生输入,并尝试将每个输入加载到词典或集合中,而忽略未能加载副本时的错误。用谷歌搜索我描述的每个步骤,你会得到大量的信息。当您有无法工作的代码时,请返回所述代码并询问有关该特定错误的特定问题。堆栈溢出不是我的代码,教我如何编写代码,或显示代码在站点的位置。这可能需要vba。您知道我在哪里可以找到代码来执行此操作吗?我对vba不是很熟悉,但已经使用过几次了。您需要创建它,您需要将当前列表加载到集合或词典中,然后在
    上拆分学生输入,并尝试将每个输入加载到词典或集合中,而忽略未能加载副本时的错误。用谷歌搜索我描述的每个步骤,你会得到大量的信息。当您有无法工作的代码时,请返回所述代码并询问有关该特定错误的特定问题。堆栈溢出不是我的代码,教我如何编写代码,或显示代码在站点的位置。与VBA相比,这将是有限的,但可能满足这种情况下的需要。太棒了!如果这回答了您的问题,请勾选将其标记为答案的框。与VBA相比,这将是有限的,但可能会满足这种情况下的需要。太好了!如果这回答了您的问题,请勾选标记为答案的方框?