1樓:匿名使用者
按你現在的這個表示方法是沒有辦法直接得到結果的。一個單元格中用逗號分隔的兩個數字,被系統認定為一個文字欄位,excel以每個單元格為一個計算單元。你現在要求對這兩個數字還要按兩個數字進行比對,所以,這兩個數字必須分列在兩列或一列中,如果在一列中,這個操作就非常簡單了,用一個if()函式和一個countif()函式就可以解決了,但是,現在你的要求,的是對一列中的兩個資料操作,並且你的結果還要顯示在一個單元格中,我覺得函式是不可能實現了。
2樓:
這個問題其實樓上說的對,直接利用公式肯定不行的,理由上面說的很清楚,所以要解決問題,必須使用輔助列,當然,要是有vba達人,或許可以利用vba直接解決.
1,利用分列將資料先分開.
首先,將你的a1:a6複製到b1:b6,然後選擇b列,點選"資料"--"分列",選擇預設的分隔符號,下一步,然後在分割符號中選擇"逗號"(單選哦,把其他的勾去掉).
然後下一步,完成就可以了.這樣,你的a列資料就分開放在b,c列了.
然後在a7輸入如下公式:(公式有點長,看樓下有沒有高手簡化一下,呵呵,本人就這點水平.)
=if(countif($b$1:$c$6,1)>>0,"2,","")&if(countif($b$1:
$c$6,3)>>>0,"5,","")&if(countif($b$1:
$c$6,6)>>>0,"8,","")&if(countif($b$1:
$c$6,9)>>>0,"11,","")&if(countif($b$1:
$c$6,12)>0,12,"")
請求excel函式高手解答1個問題? 謝謝了!
3樓:匿名使用者
=mid(a1,find(2,a1)-1,1)
4樓:匿名使用者
a1輸入數字
b1=if(a1=2,"牛",if(a1=3,"雞",if(a1=5,"豬","")))
或者b1=lookup(a1,)
用lookup方法可以弄12生肖的,就免去了if的7層巢狀限制~當然if也有超越7層巢狀限制的解決方法,我們到這裡就不討論了~
5樓:匿名使用者
我的加了輔助列,在c列輸入要找的數,比如c1為2,
在b1輸入
=mid(a1,find(c1,a1)-1,1)
6樓:匿名使用者
b1=if(a1=2,"牛",if(a1=3,"雞",if(a1=5,"豬","")))
請求excel函式高手解答1個問題? 10
7樓:匿名使用者
c1=if(and(countif(a$1:a1,a1)=1,countif(a$1:a$6,a1)>1),a1&",","")
拖至c6
a7=left(concatenate(c1,c2,c3,c4,c5,c6),len(concatenate(c1,c2,c3,c4,c5,c6))-1)
第二種情況得先考慮以「,」分列,稍複雜。如果上面的公式能看懂,可仿做,不難。
選d1:e6,輸入=if(and(countif($a$1:b1,a1)=1,countif($a$1:$b$6,a1)>1),a1&",",""),ctrl+回車;
選d7:e7,輸入=concatenate(d1,d2,d3,d4,d5,d6),ctrl+回車;
a7=left(d7&e7,len(d7&e7)-1)
大功告成。
8樓:可兒
我也想知道這個問題,但是俺也不會,收藏了,等高手回答
9樓:
private sub commandbutton1_click()
dim xm() as string, arr() as string, temp() as string '宣告變數
dim s%, r% '宣告單值變數
on error resume next '啟動一個錯誤處理程式
xm = split(range("a1"), ",") '用a1單元格的資料建立陣列
r = 0 '初值
s = ubound(xm) '最大下標
for i = 0 to s '迴圈
temp = filter(arr, xm(i)) '搜尋陣列
if ubound(temp) = -1 then '如果未找到
r = r + 1 '序號,自增1
redim preserve arr(1 to r) '定義動態陣列大小
arr(r) = xm(i) '把內容複製到陣列arr()中。
end if
next
'range("a2").resize(1, r) = arr '填充到工作表
range("a2") = join(arr, ",")
end sub
10樓:
我還沒有看清問題,但我也想等答案。
11樓:
第二個情況就複雜了把...
請excel函式高手解答1個問題?_已解決問題_搜狗問答
12樓:匿名使用者
請求excel函式高手給條公試!謝謝! =mid(a1,find(2,a1)-1,1) a1輸入數字 b1=if(a1=2,
請求excel函式高手解答幾個問題? 謝謝了! 15
13樓:匿名使用者
=lookup(max(mmult(n(e1:e5=transpose(e1:e5)),5-(len(mmult((a1:
d5="")*,))))),mmult(n(e1:e5=transpose(e1:e5)),5-(len(mmult((a1:
d5="")*,)))),e1:e5)
陣列公式
思路:求每一行的最後一個空單元格的位置,用此確定第一行x的個數(你的資料隊了空就是x),5-(len(mmult((a1:d5="")*,)))返回第一行x個數的一個陣列,你的第一例為
mmult(n(e1:e5=transpose(e1:e5)),5-(len(mmult((a1:d5="")*,))))對e列的條件求和,第一例返回
後面的lookup和max函式就不用說了吧
至於用mmult條件求和是在excelhome上學的,不是很好理解,不過用於生成記憶體陣列很方便
14樓:
新增輔助列,在f1輸入公式:
=max(if(countif(offset($d1,,-row($1:$4)+1,,row($1:$4)),"x")=row($1:$4),row($1:$4),0))
公式以ctrl+shift+回車結束.
將公式向下複製.
在g1輸入判斷公式:
=if(sumif(e1:e5,1,f1)>sumif(e1:e5,2,f1),1,2)
g1就是你要的答案.
15樓:匿名使用者
你程式設計處理吧!excel處理不了!
請求幫忙excel函式高手解答幾個問題? 謝謝了! 15
請excel高手幫忙解答一個問題 萬分感謝
16樓:
調出選copy項框後,點上圖第bai一個紅圈,然後去選取你圖du2的姓名列,完成後點匯入,
zhi檢視自定義序列那裡出dao現了新的姓名序列後確定
再選圖1資料區域,排序,點下圖的選項,在自定義排序次序中選已經生成的新姓名序列後確定,關鍵字選取你對應列來就可以得到圖3了
17樓:匿名使用者
如果名字沒有重複,序號、年齡、班級用vlookup公式,查詢與引用。
18樓:匿名使用者
可以呀,將圖2中的順序設定成自定義序列,圖1按姓名自定義序列排就行了呀
19樓:匿名使用者
我通常解決這比較排序問題,使用自定義函式
20樓:風聲鳳語
用vlookup公式,=vlookup(
查詢值,資料範圍,列序數,0),比如你
表2裡面王華東的年齡那一個版單元格公權式就是=vlookup(b2,"表1!b1:d6",2,0)。這個公式不要直接複製,要你能理解。
21樓:匿名使用者
名字首字母? 非邏輯性的東西似乎不能自動排序
請Excel函式高手解答問題,請Excel函式高手解答1個問題
單元格中不包括那些a1。等字母吧?是不是隻有 在d1輸入公式,if a1 if b1 c1,就是用if的巢狀可以實現了。最簡單直接的方法 在要顯示答案資料的單元格輸入以下公式就可以得到你要的資料。if and a1 x b1 x c1,yuqiang462 好像沒有看清題目,我的公式只能求出第一個滿...
請烹飪高手幫忙解答問題,請烹飪高手幫忙解答一個問題
人們經常食用的是白糖 紅糖和冰糖,這三種糖其實都是蔗糖。製糖方法並不複雜,把甘蔗或甜菜壓出汁,濾去雜質,再往濾液中加適量的石灰水,中和其中所含的酸 因為在酸性條件下蔗糖容易水解成葡萄糖和果糖 再過濾,除去沉澱,將濾液通入二氧化碳,使石灰水沉澱成碳酸鈣,再重複過濾,所得到的濾液就是蔗糖的水溶液了 將蔗...
請excel函式高手詳解這個問題
這個可以私用多條件求和sumifs函式實現 也可以使用sumproduct函式實現 只能試試看這個法子行不行,感覺還是差不多可以操作出來結果,我在excel中試了一下,因為具體情況可能有出入只能自己變通一下了,結果可以看圖。我大概說一下過程 1.有一個真實表,在只面把身份證號放在姓名前面一列 2.原...