Board logo

標題: [發問] 請問當A1輸入數字4時找出下列資料同數字的公式 [打印本頁]

作者: PD961A    時間: 2010-7-12 19:03     標題: 請問當A1輸入數字4時找出下列資料同數字的公式

本帖最後由 PD961A 於 2010-7-13 14:33 編輯

請問各位先進
當A1輸入數字4時..如何找出下列資料同數字的公式
謝謝..

[attach]1833[/attach]

[attach]1834[/attach]
作者: kimbal    時間: 2010-7-12 22:46

請問各位先進
當A1輸入數字4時..如何篩選出下列資料同數字的公式
謝謝..
PD961A 發表於 2010-7-12 19:03



你想問的是格式化條件對吧
[attach]1836[/attach]

在a2 設個公式
=A2=$A$1
然後抄到想要的其他格子
作者: PD961A    時間: 2010-7-13 07:51

回復 2# kimbal


    謝謝先進的回文
可以再請問您
設定格式化條件顏色新增只有3列(欄)A~C
若要從A~H欄都是同樣可以輸入數字後得到顏色變化
請問要怎麼改公式?或是設定格式....
謝謝您..

[attach]1838[/attach]
作者: kimbal    時間: 2010-7-13 20:39

回復  kimbal


    謝謝先進的回文
可以再請問您
設定格式化條件顏色新增只有3列(欄)A~C
若要從A~H ...
PD961A 發表於 2010-7-13 07:51



excel 2003或以前的 格式化條件 只可以 有3種條件, 再加條件的話要用上vba 寫一個 格式化條件 出來了
作者: alexwin    時間: 2010-7-14 17:06

回復  kimbal


    謝謝先進的回文
可以再請問您
設定格式化條件顏色新增只有3列(欄)A~C
若要從A~H ...
PD961A 發表於 2010-7-13 07:51



    這格式化條件主要用途為何?
作者: PD961A    時間: 2010-7-14 18:14

回復 5# alexwin


    主要要表達的意思是
當第一列A1.B.C~假設到H1
輸入數字(預設為1~100)
但是底下的資料會變動位子(資料會因為人為輸入而產生重複的地方)
因此當第一列輸入今天作好的數字共8欄(~H欄).....(希望可以不限制到H欄)
EX:31.32.33.34.35.36.37輸入完就可以知道底下哪個資料跟上面這些數字重複了

謝謝..
另外不好意思..問題我已經移到程式區去發問了...
謝謝您..
作者: Hsieh    時間: 2010-7-14 19:59

回復 6# PD961A

[attach]1869[/attach]
作者: kimbal    時間: 2010-7-14 20:27

回復  alexwin


    主要要表達的意思是
當第一列A1.B.C~假設到H1
輸入數字(預設為1~100)
但是底下 ...
PD961A 發表於 2010-7-14 18:14



    如果只是一種顏色的用hsieh大上面的就可以了~
作者: PD961A    時間: 2010-7-15 09:19

回復 8# kimbal
回復 7# Hsieh


  
謝謝 kimbal先進及 Hsieh版主

先進的回文適用於" 如果只是一種顏色的用hsieh大上面的就可以了"
所以當我要選用3個以上的顏色時2003的版本是.不適用
因此我把此主題已移到程式區去發問了
謝謝2位的回文
作者: Andy2483    時間: 2023-3-23 15:09

回復 1# PD961A


    謝謝前輩發表此主題與範例
後學藉此主題練習陣列. 使用大小會視需要動態增加的陣列與 字典,
學習到很多知識,謝謝論壇,謝謝各位前輩,學習方案如下,請各位前輩指教

執行前:
[attach]36015[/attach]

執行結果:
[attach]36016[/attach]

Option Explicit
Sub TEST()
Dim Brr, T, Y, Z, A, xR As Range, xU As Range
'↑宣告變數:(Brr,T,Y,Z,A)是通用型變數,(xR,xU)是儲存格變數
Set Y = CreateObject("Scripting.Dictionary")
'↑令Y這通用型變數是 字典
Set Z = CreateObject("System.Collections.ArrayList")
'↑令Z這通用型變數是 使用大小會視需要動態增加的陣列
Set xR = [A2:H17]: Brr = xR
'↑令xR這儲存格變數是 [A2:H17]儲存格,
'令Brr這通用型變數是 二維陣列,以xR變數儲存格值帶入陣列裡

Set xU = [A1]: T = Val(xU)
'↑令xU這儲存格變數是 [A1]儲存格,
'令T這通用型變數是 xU變數儲存格值轉成的新數字

For Each A In Brr
'↑設逐項迴圈!令A這通用型變數是 Brr陣列裡的一個陣列值
   A = Format(A, "0000")
   '↑令A變數是 四位數的數字碼字串(若不足四碼!於前方以0補足)
   If A <> vbNullString And Not Z.contains(A) Then Z.Add (A)
   '↑如果A變數不是 長度為零的字串,而且A變數不在Z陣列裡?
   '如果條件成立就把 A變數納入Z陣列裡

Next
Z.Sort
'↑令Z陣列做順排序
For Each A In Z: Y(Val(A)) = 0: Next
'↑設逐項迴圈!將Z陣列裡的值當key,item是0,納入Y字典裡
For Each A In xR
'↑設逐項迴圈!令A變數是xR變數儲存格中的一格
   If Val(A) = T Then Set xU = Union(xU, A)
   '↑如果A變數值轉成數值後 = T變數!就將A變數納入xU儲存格集裡
   Y(Val(A)) = Y(Val(A)) + 1
   '↑令A變數值轉數值當key,item是 item自身值+1
Next
xR.Interior.ColorIndex = xlNone: xU.Interior.ColorIndex = 6
'↑令xR變數儲存格底色設為 無底色:令xU變數儲存格底色設為 黃色
[L:M].ClearContents: [L1:M1] = [{"數字", "出現次數"}]
'↑令[L:M]儲存格清除內容:令[L1:M1]這兩格以↑陣列兩字串帶入
[L2].Resize(Y.Count, 1) = Application.Transpose(Y.keys)
'↑令[L2]擴展向下Y字典key數量數的儲存格,
'以Y字典keys轉置後帶入儲存格

[M2].Resize(Y.Count, 1) = Application.Transpose(Y.items)
'↑令[M2]擴展向下Y字典key數量數的儲存格,
'以Y字典items轉置後帶入儲存格

Set Y = Nothing: Set Z = Nothing: Set xR = Nothing
Set xU = Nothing: Erase Brr
'↑令釋放變數
End Sub




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