Board logo

標題: 請教按兩個條件都符合找到搜尋值的函數寫法 [打印本頁]

作者: ann    時間: 2011-3-29 01:51     標題: 請教按兩個條件都符合找到搜尋值的函數寫法

:$ 各位先進您們好:

首先很抱歉因為是新手
討論區雖已有相關說明
但無下載檔案權限加上笨笨的
理解力很差
故在此又提出類似問題實在很抱歉
還望高手們指點一二

首先同事建有"傳票資料"的活頁簿

傳票號碼                   借方金額           會計科目:   
20101228010        10,000             613321   銷售費用-租金
20101231017          5,397             613321   銷售費用-租金
20101231017             794             613321   銷售費用-租金
20101231226        18,999             613321   銷售費用-租金
20101231116     5,767,361          613321   銷售費用-水電費
20101231116        536,100             613322   銷售費用-水電費

我的工作需按部門將傳票輸入檢核
          A欄                      B欄
1       傳票號碼                      金額
2      20101231226                        18,999
3      20101231226                      727,021
4      20101231226                      685,115
5      20101231044                          2,000
6      20101231116                      536,100


我希望能利用函數在C欄得到資料如下

A欄                     B欄    C欄
傳票號碼                      金額         希望出現符何A+B欄之會計科目
20101231226          18,999        613321   銷售費用-租金
20101231226        727,021        無該項金額
20101231226        685,115        無該項金額
20101231044            2,000        無傳票資料
20101231116        536,100        613322   銷售費用-水電費

請問我在C2應該怎麼寫函數才對

感謝指導
作者: chin15    時間: 2011-3-29 08:23

我看到很多相同的例子,就在這個討論版
同學們多半用lookup函數或sumproduct函數處理這類問題
建議你多找找,多看看,把論場的帖子都看完了,成不了仙也成佛了!
作者: fr447446    時間: 2011-3-29 09:05

=IF(COUNTIF($A$2:$A$18,$F3),IF(COUNTIF($B$2:$B$18,$G3),LOOKUP(1,1/($A$2:$A$18&$B$2:$B$18=$F3&$G3),$C$2:$C$18),"無該項金額"),"無傳票資料")
作者: fr447446    時間: 2011-3-29 09:10

建議你多找找,多看看,把論場的帖子都看完了,成不了仙也成佛了!chin15 發表於 2011-3-29 08:23



確實...我之前還沒發現這個網站之前也是一知半解,

看了一段時間之後雖然仍是半桶水,但認識的工具已經夠運用在目前的工作上了~
作者: ann    時間: 2011-3-29 18:57

=IF(COUNTIF($A$2A$18,$F3),IF(COUNTIF($B$2B$18,$G3),LOOKUP(1,1/($A$2A$18&$B$2B$18=$F3&$G3),$C ...
fr447446 發表於 2011-3-29 09:05



首先感謝您的指導
依您的提供已經可以達到我需求

對於看不懂討論區相似主題的說明也覺得很羞愧
實在是工作需要沒有很多時間讓我慢慢瞭解
才硬著頭皮問

對於陣列的觀念不是很懂
可否再請教一下函數中
=LOOKUP(1,1/($A$2:$A$18&$B$2:$B$18=$F2&$G2),$C$2:$C$18)
第一個引數1是指?
第二個引數的意思是?

不論如何真的很謝謝您願意為我解決之前的問題

謝謝
作者: ann    時間: 2011-3-29 19:04

我看到很多相同的例子,就在這個討論版
同學們多半用lookup函數或sumproduct函數處理這類問題
建議你多找 ...
chin15 發表於 2011-3-29 08:23



在問題內我也明白
指出已在討論區看到相關主題
只是討論區上的檔案目前無權限下載
光看討論版實在想不出來
受於時間壓力
只好很羞愧地提出問題
麻煩各位先進與予指導

相信我
實在是有先自行找過類似主題
對於自己愚蠢無法瞭解明白
提出重複相關問題
我真的很抱歉
作者: fr447446    時間: 2011-3-29 20:06

這個方式是在這邊學到的...只是我的解釋可能會不清楚~
多看一些別人的問題應該可以找到比較明確的解釋,
以下就以我的概念解釋公式,
=LOOKUP(1,1/($A$2:$A$18&$B$2:$B$18=$F2&$G2),$C$2:$C$18)
第一個引數 1,用來找到第二引數資料串裡面的數值,可用大於0的任何數字
第二個引數 1/($A$2:$A$18&$B$2:$B$18=$F2&$G2),得到 {0,0,0,1,0,0,0,...} 這樣的資料,
當有符合第一個引數的資料時,就回傳相對應的第三個引數,
此用法所找到的是最後一筆符合的資料。
比較明確的解釋可能要請其他前輩來解釋了,
之前有看過前輩做過詳細的解釋,但...忘記在哪裡了...
作者: ann    時間: 2011-3-29 22:02

這個方式是在這邊學到的...只是我的解釋可能會不清楚~
多看一些別人的問題應該可以找到比較明確的解釋,
...
fr447446 發表於 2011-3-29 20:06


感謝您的不吝指導
作者: chin15    時間: 2011-3-29 22:20

在問題內我也明白
指出已在討論區看到相關主題
只是討論區上的檔案目前無權限下載
光看討論版實在 ...
ann 發表於 2011-3-29 19:04



    這樣講讓我不好意思起來了
我也是小學生,一樣無權限,彼此互相勉厲互相學習吧。
作者: FAlonso    時間: 2011-3-29 22:58

樓上討論有幾點不錯
有時人家在工作,要十萬火急完成,就直接提供答案好了
還有下載權限是不是有檢討的空間?
作者: gong    時間: 2011-3-29 23:14

本帖最後由 gong 於 2011-3-30 00:00 編輯

可否再請教一下函數中
=LOOKUP(1,1/($A$2:$A$18&$B$2:$B$18=$F2&$G2),$C$2:$C$18)
第一個引數1是指?
第二個引數的意思是?

要先瞭解lookup特性,
有排除錯誤、
取1/2位置值比較,如比較值比中間值大再取後1/2位置值再比較,
如比較值比中間值小則取前1/2位置值再比較
如此循環,故lookup有需排序之特性

再說
1/($A$2:$A$18&$B$2:$B$18=$F2&$G2)
"1"的目的是將"$A$2:$A$18&$B$2:$B$18=$F2&$G2"以分數方式表示,該組數如都大於1,
分數表示後應該不會>=1

=LOOKUP(1,1/($A$2:$A$18&$B$2:$B$18=$F2&$G2),$C$2:$C$18)
第一個"1"則為索引值,
此例 {0,0,0,1,0,0,0,...} 則要看運氣是否會找到那個1了,

更正
不會產生{0,0,0,1,0,0,0,...}
而是{#DIV/0!;#DIV/0!;#DIV/0!;1;#DIV/0!;#DIV/0!}
經排除錯誤值取得1
作者: gong    時間: 2011-3-29 23:30

本帖最後由 gong 於 2011-3-29 23:47 編輯

d12
{=IF(ISNUMBER(MATCH($B12&$C12,$A$2:$A$7&$B$2:$B$7,0)),OFFSET($C$1,MATCH($B12&$C12,$A$2:$A$7&$B$2:$B$7,0),),IF(COUNTIF($A$2:$A$7,$B12),"無傳票資料","無該項金額"))}

e12
{=IF(ISNUMBER($D12),OFFSET($D$1,MATCH($B12&$C12,$A$2:$A$7&$B$2:$B$7,0),),"")}

更正d12
{=IF(ISNUMBER(MATCH($B12&$C12,$A$2:$A$7&$B$2:$B$7,0)),OFFSET($C$1,MATCH($B12&$C12,$A$2:$A$7&$B$2:$B$7,0),),IF(COUNTIF($A$2:$A$7,$B12),"無該項金額","無傳票資料"))}

圖及檔案如有下載請自行更正
作者: ann    時間: 2011-3-29 23:41

回復 11# gong


感謝版主的說明有比較懂
我的基礎太差
會更加努力學習

真的很感謝大家讓我的工作快速地順利完成
作者: ann    時間: 2011-3-30 00:40

d12
{=IF(ISNUMBER(MATCH($B12&$C12,$A$2A$7&$B$2B$7,0)),OFFSET($C$1,MATCH($B12&$C12,$A$2A$7&$B$ ...
gong 發表於 2011-3-29 23:30


謝謝版主
讓我有豁然開朗的感覺
雖無權限下載您為我說明的檔案
但因為是自己的資料
知道資料內容

我的理解不知對不對
主要是
利用match得到陣列與搜尋值相符合之相對位置
再用offset依該位置取得搜尋值
另外就是運用IF與ISNUMBER去判斷<-這比較容易從書與OFFICE說明理解

真的很感謝比我到書街翻看N本書
來得清楚明白
作者: fr447446    時間: 2011-3-30 08:46

回復 11# gong
感謝~gong 版大的解釋,
看完版大的解釋後,對LOOKUP的函數有比較深的了解了,
之前只知道怎麼用,而不知道這個函數的涵義,
再次感謝版大不吝指導~
作者: chin15    時間: 2011-3-30 08:54

我覺得還好
雖然我也沒有權限下載
喜歡這個論壇就有義務尊守與配合論壇的制度
肯付出就有收獲
作者: ann    時間: 2011-3-30 09:53

本帖最後由 ann 於 2011-3-30 11:01 編輯
樓上討論有幾點不錯
有時人家在工作,要十萬火急完成,就直接提供答案好了
還有下載權限是不是有檢討的空間 ...
FAlonso 發表於 2011-3-29 22:58


首先真的覺得很幸運找到麻辣家族討論區
讓困擾自己的問題得到高手的指點
快速地解決
心中真的除了感謝就是再感謝

只是可能大家等級都很高了
不瞭解新手面對的困境
在真心喜愛這裡的前提下
提出自己的情形給大家參考

新手不能下載檔案:<-已經解決  很認同贊助論壇的理念
我能理解
但對於自己提出的問題
別人給予解決的回應也不能下載
有時資料若過於複雜
可能不容易理解

在研讀版上已討論過的案例
因無下載權限
真的很難明白(當然我比較笨也有關係)
不是故意重覆給大家找麻煩
謝謝版主與高手們的耐心容忍
更感謝大家給予的協助
作者: ANGELA    時間: 2011-3-30 10:24

EXCEL的函數說明,還有很大成長的空間,有時說的是不清不楚,如果在論壇上有看不懂的公式.查看說明是一定要的,
另外可在編輯列中查看,例如
{=IF(ISNUMBER($D12) ,OFFSET($D$1,MATCH($B12&$C12,$A$2:$A$7&$B$2:$B$7,0),),"")}
將其中一段公式反白再按F9.可得到那段公式的運算結果.以利了解較長的公式.看完記得按ESC鍵放棄修改.
作者: ann    時間: 2011-3-30 11:05

EXCEL的函數說明,還有很大成長的空間,有時說的是不清不楚,如果在論壇上有看不懂的公式.查看說明是一定要的, ...
ANGELA 發表於 2011-3-30 10:24

感謝您的分享
對新手理解函數用法而言實在太方便了
原本只會傻傻地一個函數一個函數慢慢地拆解
作者: fr447446    時間: 2011-3-30 16:55

回復 18# ANGELA
傻傻的一個一個拆+1...
原來還有這樣方便的功能阿...
感謝指導~
作者: Hsieh    時間: 2011-4-4 15:20

關於學習函數,在EXCEL中有一個評估值公式的工具可以幫助我們來檢查公式的運算流程
以樓主的版本(2007),此工具位置在功能表的公式/公式稽核群組中
按下評估值公式即可顯示公式評估值視窗
會以當前儲存格內的公式做評估對象
使用者只須按下評估值按鈕
EXCEL會根據公式的運算邏輯一步一步地將運算結果顯示
就可輕鬆對照運算結果是否是能得到想要的參數
所以,這工具對我們寫函數有著舉足輕重的地位
[attach]5228[/attach]
作者: ann    時間: 2011-4-5 15:55

關於學習函數,在EXCEL中有一個評估值公式的工具可以幫助我們來檢查公式的運算流程
以樓主的版本(2007),此 ...
Hsieh 發表於 2011-4-4 15:20



    感謝再感謝
作者: 桔色    時間: 2011-11-7 13:44

對於先進的解說~小弟研究很久~還是一知半解的~可惜權限不足~無法下載~
作者: Airman    時間: 2017-10-9 17:03

本帖最後由 Airman 於 2017-10-9 17:13 編輯

回復 1# ann
以同時符合兩個條件,搜尋同列的它欄對應值~
假設A欄和B欄的兩個條件沒有重複~
小弟一般都是用VLOOKUP函數~
http://forum.twbts.com/thread-20177-1-1.html

PS:
如果A欄和B欄的兩個條件有重複,則只會顯示第一組。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)