Chắc bạn fải chờ người khác vậy; Mình chỉ có E2003 nên xử không hết vụ này đâu!
Những vấn đề của bạn đang là như sau:Nhưng ứng dụng macro của Bác vẫn ra như ý muốn hả?
Thử:Em có một bảng mẫu trong 1 bảng giống như bàn cờ vua . có những ký tự khác nhau.các bác có thể giúp em tìm ra được các ký tự đó ra 1 cột được không và số lần trùng của 1 ký tự ạ. Em xin cảm ơn.
E7=IFERROR(INDIRECT(TEXT(MOD(AGGREGATE(15,6,(ROW($A$7:$A$13)*10^3+COLUMN($A:$C)+COUNTIF($A$7:$C$13,"<="&$A$7:$C$13)*10^8)/(COUNTIF($E$6:$E6,$A$7:$C$13)=0),1),10^8),"R000C000"),),"")
F7=COUNTIF($A$7:$C$13,E7)
Thử:
Enter, fill xuống.Mã:E7=IFERROR(INDIRECT(TEXT(MOD(AGGREGATE(15,6,(ROW($A$7:$A$13)*10^3+COLUMN($A:$C)+COUNTIF($A$7:$C$13,"<="&$A$7:$C$13)*10^8)/(COUNTIF($E$6:$E6,$A$7:$C$13)=0),1),10^8),"R000C000"),),"") F7=COUNTIF($A$7:$C$13,E7)
Thân[/QUOTEtại sao em vẫn chưa nhìn thấy kết quả thế ạ. Ví dụ : em muốn lọc được ra là trong mảng từ A7:C13 sẽ lọc ra được ký tự A và số lần lặp là 4 lần.Nhờ bác nói rõ hơn được ko??
Vậy thử:tại sao em vẫn chưa nhìn thấy kết quả thế ạ. Ví dụ : em muốn lọc được ra là trong mảng từ A7:C13 sẽ lọc ra được ký tự A và số lần lặp là 4 lần.Nhờ bác nói rõ hơn được ko??
E7=INDIRECT(TEXT(MOD(MIN(IF((COUNTIF($E$6:$E6,$A$7:$C$13)=0),(ROW($A$7:$A$13)*10^3+COLUMN($A:$C)+COUNTIF($A$7:$C$13,"<="&$A$7:$C$13)*10^8))),10^8),"R000C000"),)
Nhìn cái công thức này cũng chẳng khác gì ma trận, thật là hại não.Vậy thử:
kết thúc bằng Ctrl+Shift+Enter, rồi fill xuống.Mã:E7=INDIRECT(TEXT(MOD(MIN(IF((COUNTIF($E$6:$E6,$A$7:$C$13)=0),(ROW($A$7:$A$13)*10^3+COLUMN($A:$C)+COUNTIF($A$7:$C$13,"<="&$A$7:$C$13)*10^8))),10^8),"R000C000"),)
Thân
Bản thân "Mảng" theo bài trên là một ma trận, nó có 2 chiều dọc và ngang.Nhìn cái công thức này cũng chẳng khác gì ma trận, thật là hại não.
Thêm 1 cách:Em có một bảng mẫu trong 1 bảng giống như bàn cờ vua . có những ký tự khác nhau.các bác có thể giúp em tìm ra được các ký tự đó ra 1 cột được không và số lần trùng của 1 ký tự ạ. Em xin cảm ơn.
Sub abc()
Dim a, b, i&, j&, k&
With Sheet1
a = .Range("A7:C" & .Cells(Rows.Count, 3).End(3).Row).Value
End With
ReDim b(1 To UBound(a, 1) * 3)
Application.ScreenUpdating = False
For j = LBound(a, 2) To UBound(a, 2)
For i = LBound(a, 1) To UBound(a, 1)
If Not IsEmpty(a(i, j)) Then
k = k + 1
b(k) = a(i, j)
End If
Next i
Next j
With Sheet1
.Range("F6:G6") = Array("Ma", "SL")
.Range("F7").Resize(k).Value = Application.Transpose(b)
.Range("G6:G" & Range("F" & Rows.Count).End(3).Row).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = 1
.Range("J6").Consolidate Sources:=Array("Sheet1!R6C6:R1000C7"), Function:=xlSum, LeftColumn:=True
.Columns("F:G").ClearContents
End With
Application.ScreenUpdating = True
End Sub
Thật sự là tui cứ nhìn cái công thức nào dài dài là hãi lắm luôn. nhất là bản thân nó đã là 1 hàm, xong nó lại cộng thêm mấy hàm khác nữa. Chắc xưa bạn học toán giỏi lắm.Bản thân "Mảng" theo bài trên là một ma trận, nó có 2 chiều dọc và ngang.
Bài toán xử lý Mảng có chung một kết cấu: Lập điều kiện trên từng phần tử của "ma trận", cái nào thỏa thì lấy ra, cái nào không thỏa thì lờ đi.
Như bài trên:
Làm việc với nó lâu ngày sẽ nhìn ra rất dễ dàng.
- Điều kiện lọc là: COUNTIF($E$6:$E6,$A$7:$C$13)=0
- Định vị trí cho từng phần tử: (ROW($A$7:$A$13)*10^3+COLUMN($A:$C)+COUNTIF($A$7:$C$13,"<="&$A$7:$C$13)*10^8)
- Dùng các hàm MIN() để trích lục phần tử thỏa điều kiện, và nhỏ nhất.
- Dùng MOD() để lấy số vị trí Dòng và Cột của phần tử thỏa đó.
- Dùng INDIRECT() để đến vị trí đó lấy kết quả.
Thân
Hồi phổ thông do học sớm 1 năm, nên ngu hơn bạn đồng môn, toán văn luôn 5-6, chỉ vừa đủ lên lớp là mừng rồi.Thật sự là tui cứ nhìn cái công thức nào dài dài là hãi lắm luôn. nhất là bản thân nó đã là 1 hàm, xong nó lại cộng thêm mấy hàm khác nữa. Chắc xưa bạn học toán giỏi lắm.
vậy bạn có ở SG không hay ở ngoài bắc thế? tui cũng thích công thức mảng, nhưng mà chỉ biết làm có hàm đơn thôi.Hồi phổ thông do học sớm 1 năm, nên ngu hơn bạn đồng môn, toán văn luôn 5-6, chỉ vừa đủ lên lớp là mừng rồi.
Lên được lớp 6, cúng ông Địa nãi chuối. Qua ải lớp 10, ăn chay 1 tháng.
Gặp 1 bạn người bắc hỏi "sao ăn chay", nói "lở vái rồi" (đọc theo giọng Sài gòn), bạn bảo "lở ...ái thì xức thuốc, chứ mắc gì ăn chay!?
Không biết sao, càng già càng đâm nghiện mấy cái công thức mảng, anh em thương cũng xúi nghiên cứu VBA, nhưng thú thiệt mình chỉ thích chỉ có một mình "Mảng" mà thôi.
Thân
Hồi phổ thông do học sớm 1 năm, nên ngu hơn bạn đồng môn, toán văn luôn 5-6, chỉ vừa đủ lên lớp là mừng rồi.
Lên được lớp 6, cúng ông Địa nãi chuối. Qua ải lớp 10, ăn chay 1 tháng.
Gặp 1 bạn người bắc hỏi "sao ăn chay", nói "lở vái rồi" (đọc theo giọng Sài gòn), bạn bảo "lở ...ái thì xức thuốc, chứ mắc gì ăn chay!?
Thân
Về công thức "mảng" đòi hỏi một niềm đam mê cao độ, sự kiên nhẫn tìm tòi để hiểu nó, thì mới thuần phục nó được.vậy bạn có ở SG không hay ở ngoài bắc thế? tui cũng thích công thức mảng, nhưng mà chỉ biết làm có hàm đơn thôi.
Khà Khà, "ăn cùng Mảng", "ngủ cùng Mảng", coi chừng bị đuổi ra sân "một Mình một Mảng"Hồi phổ thông do học sớm 1 năm, nên ngu hơn bạn đồng môn, toán văn luôn 5-6, chỉ vừa đủ lên lớp là mừng rồi.
Lên được lớp 6, cúng ông Địa nãi chuối. Qua ải lớp 10, ăn chay 1 tháng.
Gặp 1 bạn người bắc hỏi "sao ăn chay", nói "lở vái rồi" (đọc theo giọng Sài gòn), bạn bảo "lở ...ái thì xức thuốc, chứ mắc gì ăn chay!?
Không biết sao, càng già càng đâm nghiện mấy cái công thức mảng, anh em thương cũng xúi nghiên cứu VBA, nhưng thú thiệt mình chỉ thích chỉ có một mình "Mảng" mà thôi.
Thân
Trời ơi!