[英]Excel Cell Match - Copy other data from sheet
基本上我有一個非常簡單的表,但我正在努力:(
基本上有一些標題,如“名稱”,“經理”,“信用”
我得到一張包含所有名稱等列表的表格,並想要一個宏來檢查名稱是否在列表中,然后將信用單元格從名為“代理”的工作表復制到名為“信用”的工作表已嘗試加載解決方案但無濟於事。
謝謝
以您作為參考共享Excel文件,您可以使用下面的前提是你對表第一列Agent
按升序進行排序 。 在表單Credit
單元格C2
中,輸入
=LOOKUP($A2,Agent!$A:$A,Agent!$B:$B)
然后選擇該單元格C2
並向下拖動右下角。 這是最簡單的版本,但如果在工作表Agent
上找不到工作表Credit
的名稱,則會產生奇怪的結果。 一個更好的版本是
=IF($A2<>LOOKUP($A2,Agent!$A:$A,Agent!$A:$A),"Not Found",LOOKUP($A2,Agent!$A:$A,Agent!$B:$B))
if的第一部分檢查是否在工作表Agent
上找到代理名稱。 如果不是,則結果為“Not Found”,否則結果與上一個函數中的查找相同。
在閱讀lori_m的評論后查找LOOKUP和VLOOKUP時,我沒有找到任何關於相對性能的信息。 大多數情況下,我發現LOOKUP仍然只在Excel中用於傳統兼容性,而VLOOKUP或HLOOKUP更靈活。
但是,我確實遇到了一系列文章,從http://exceluser.com/blog/420/excel%E2%80%99s-vlookup-vs-index-match-functions.html開始,它們表明了INDEX和MATCH函數提供更好的解決方案。
你試過Lookup
嗎? 此函數在單個行或列中查找值,並在不同的行或列中對其進行一些匹配。
你需要的關鍵功能是VLOOKUP,它采用Lookup_value(搜索可以作為單元格引用的名稱),Table_array(要查看的范圍 - 它在此范圍的第一列搜索Lookup_value,返回第一個字母匹配或超過Lookup_value的第一個值,因此必須對列表進行排序,並將結果與Lookup_value進行比較以查看它們是否真正匹配)和Col_index_number(第一列為1 - 它從此列返回值)。
=IF(VLOOKUP(A2, Agent!$A:$B,1)=A2,VLOOKUP(A2, Agent!$A:$B,2),"No match")
此示例將在代理程序工作表的A列中查找當前工作表的A1中的值,並從代理工作表的相應B列返回值,如果沒有,則返回“不匹配”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.