Mình mới làm quen với excel, mong các anh chị hướng dẫn hàm làm trong file excel (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

vantuan2525

Thành viên mới
Tham gia
25/5/08
Bài viết
17
Được thích
0
mình muốn dùng hàm để lấy cột thời gian là (Event Time) va (over time) tướng đương với f1 và f2 cua cột (mode), qua sheet XEM CHI TIET tương ướng với ngày như trong bảng,
ngày

----------------01/03/2012 ----------,------------------- 02/03/2012
-----F1,--------- f2 ,------- over time, -----------f1 , -------f2, ------- --over time
10:11:56 , ----- 17:13:40, -- 00:13:40 , --------07:39:39 ,-- 17:10:08 ,-----00:10:08


ví dụ: trong sheet THOIGIAN có ngày 01/03/2012 có cột f1 và f2 và over time
mình muốn đưa các cột đó sang sheet XEM CHI TIET và tương đương như bảng trên,
mong tất cả các anh chị hướng dẫn cho mình.
chân thành cảm ơn
thanks
file excel lớn ko đưa lên được mình đưa link :http://www.mediafire.com/?4eolcbxp7fj8na3
mong các anh chị thông cảm

nick yahoo của mình: vantuan2525. mail vantuan2525@yahoo.com
 
Lần chỉnh sửa cuối:
mình muốn dùng hàm để lấy cột thời gian là (Event Time) va (over time) tướng đương với f1 và f2 cua cột (mode), qua sheet XEM CHI TIET tương ướng với ngày như trong bảng,
ngày

----------------01/03/2012 ----------,------------------- 02/03/2012
-----F1,--------- f2 ,------- over time, -----------f1 , -------f2, ------- --over time
10:11:56 , ----- 17:13:40, -- 00:13:40 , --------07:39:39 ,-- 17:10:08 ,-----00:10:08


ví dụ: trong sheet THOIGIAN có ngày 01/03/2012 có cột f1 và f2 và over time
mình muốn đưa các cột đó sang sheet XEM CHI TIET và tương đương như bảng trên,
mong tất cả các anh chị hướng dẫn cho mình.
chân thành cảm ơn
thanks
file excel lớn ko đưa lên được mình đưa link :http://www.mediafire.com/?4eolcbxp7fj8na3
mong các anh chị thông cảm

nick yahoo của mình: vantuan2525. mail vantuan2525@yahoo.com
Bài này mà làm bằng công thức chắc oải luôn và hổng biết máy có chịu nổi không.
200 dòng x 90 cột = 18.000 ô công thức!
Thử bằng VBA xem, do file quá lớn nên đã xóa bớt dữ liệu.
Bạn copy lại dữ liệu từ file cũ sang file này - Bấm vào Nút <GPE>.
 

File đính kèm

cảm ơn bạn đã giúp mình, nhưng khi copy vào và chay lên thì không dc? mong các anh chị hướng dẫn?
thanks
 
Lần chỉnh sửa cuối:
cảm ơn bạn rất nhiều, nhưng mình không hiểu làm cách nào? mong bạn hướng dẫn?
thanks
 
cảm ơn bạn rất nhiều, nhưng mình không hiểu làm cách nào? mong bạn hướng dẫn?
thanks
Không hiểu làm cách nào là sao? Làm theo cái này không được?
Mở Excel. Vào Tools - Macro - Vào Security ... Chọn Mức Medium. OK.
Thoát khỏi Excel rồi mở lại tập tin, có hộp thoại, Chọn Enable Macros.
Làm theo hướng dẫn trên rồi Ấn nút GPE, kết quả ra sao?
Hay muốn xem code? Ấn Alt+F11 để xem Code trong File.
-----
Chép đè Code này lên Code cũ cho gọn một chút
PHP:
Public Function GPE()
Dim I As Long, K As Long, Dic As Object, Rng()
Set Dic = CreateObject("Scripting.Dictionary")
Rng = Sheet2.Range(Sheet2.[A2], Sheet2.[I65000].End(xlUp)).Value
ReDim Arr(1 To UBound(Rng, 1), 1 To 100)
 For I = 1 To UBound(Rng, 1)
        If Not Dic.exists(Rng(I, 7)) Then
            Dic.Add Rng(I, 7), ""
                K = K + 1
        End If
   If Rng(I, 9) = "F1" Then Arr(K, Right(Rng(I, 1), 2) * 3 - 2) = Rng(I, 2)
   If Rng(I, 9) = "F2" Then Arr(K, Right(Rng(I, 1), 2) * 3 - 1) = Rng(I, 2): Arr(K, Right(Rng(I, 1), 2) * 3) = Rng(I, 5)
 Next
Sheet1.[D7].Resize(K, 100).Value = Arr
Set Dic = Nothing
End Function
 
Lần chỉnh sửa cuối:
không biết các anh chị em còn phương pháp nào khác không ?
thanks
 
Bài này mà làm bằng công thức chắc oải luôn và hổng biết máy có chịu nổi không.
200 dòng x 90 cột = 18.000 ô công thức!
Thử bằng VBA xem, do file quá lớn nên đã xóa bớt dữ liệu.
Bạn copy lại dữ liệu từ file cũ sang file này - Bấm vào Nút <GPE>.


bạn ởi cho mình hỏi tý nha?
khi mình thay đổi bất kỳ 1 dòng nào hay xoá đi 1 dòng thì nó ko thay đổi?
bạn có biết là nguyên nhân gì ko?
khi minh xoá đi nhiều user id và họ và tên nhưng các côt f1 , f2 va over time ko mất đi ?
mong bạn xem cho

thanks
 
bạn ởi cho mình hỏi tý nha?
khi mình thay đổi bất kỳ 1 dòng nào hay xoá đi 1 dòng thì nó ko thay đổi?
bạn có biết là nguyên nhân gì ko?
khi minh xoá đi nhiều user id và họ và tên nhưng các côt f1 , f2 va over time ko mất đi ?
mong bạn xem cho

thanks
Code này chỉ lấy số liệu từ Sheet THOIGIAN qua Sheet XEM CHI TIET theo thứ tự của Sheet THOIGIAN.
Ý Bạn muốn xóa dòng là xóa bên Sheet nào?
Cột A Sheet XEM CHI TIET là Number, Cột G Sheet THOIGIAN là Text, phải theo cái nào để lọc đây?
 
Lần chỉnh sửa cuối:
Code này chỉ lấy số liệu từ Sheet THOIGIAN qua Sheet XEM CHI TIET theo thứ tự của Sheet THOIGIAN.
Ý Bạn muốn xóa dòng là xóa bên Sheet nào?
Cột A Sheet XEM CHI TIET là Number, Cột G Sheet THOIGIAN là Text, phải theo cái nào để lọc đây?





bang chính là xem chi tiết, và thoigian la bảng tham chiếu thôi,
mình sẽ phụ thuộc vào user id bên XEM CHI TIET nếu USER ID cua XEM CHI TIET thay đổi thì tất cả các dòng đó đều thay đổi, và nêu xoá USER ID thì dòng đó cũng bị mất dữ liệu,

mình ví dụ nha?

nếu xoá số ID 0003 thì tất cả dòng đó sẽ mất hết,
hoặc thêm ID 3000 thi tự động có dữ liệu ở dòng đó nều bên THOIGIAN có các dòng của ID 3000

cho mình hỏi office nào cũng chạy lệnh visua hả ? minh đang dùng 2003?
 
bang chính là xem chi tiết, và thoigian la bảng tham chiếu thôi,
mình sẽ phụ thuộc vào user id bên XEM CHI TIET nếu USER ID cua XEM CHI TIET thay đổi thì tất cả các dòng đó đều thay đổi, và nêu xoá USER ID thì dòng đó cũng bị mất dữ liệu,

mình ví dụ nha?

nếu xoá số ID 0003 thì tất cả dòng đó sẽ mất hết,
hoặc thêm ID 3000 thi tự động có dữ liệu ở dòng đó nều bên THOIGIAN có các dòng của ID 3000

cho mình hỏi office nào cũng chạy lệnh visua hả ? minh đang dùng 2003?
Xem thử File này, Sheet XEM CHI TIET muốn xoá, thêm số ID nào cũng được miễn là không để dòng trống.
Mỗi lần có thay đổi thì bấm nút lệnh lại.
Tôi cũng đang xài EX2003
 

File đính kèm

Xem thử File này, Sheet XEM CHI TIET muốn xoá, thêm số ID nào cũng được miễn là không để dòng trống.
Mỗi lần có thay đổi thì bấm nút lệnh lại.
Tôi cũng đang xài EX2003





cảm ơn bạn, chạy rồi, nhưng mình ko hiểu tại sao để trống thì báo lỗi?
thanks bạn nhiều
 
Xem thử File này, Sheet XEM CHI TIET muốn xoá, thêm số ID nào cũng được miễn là không để dòng trống.
Mỗi lần có thay đổi thì bấm nút lệnh lại.
Tôi cũng đang xài EX2003



bạn ơi cho mình hỏi bạn tí nha?
o dòng ngày mình thêm ngày 2012-04-01 hay bat cứ ngày nào tùy theo mình, thì mình chỉnh ở đẩu? và chỉnh như thế nào?

mong bạn hưỡng dẫn
thanks
 
bạn ơi cho mình hỏi bạn tí nha?
o dòng ngày mình thêm ngày 2012-04-01 hay bat cứ ngày nào tùy theo mình, thì mình chỉnh ở đẩu? và chỉnh như thế nào?

mong bạn hưỡng dẫn
thanks
Sheet THOIGIAN bạn muốn lưu dữ liệu của 1 tháng hay 1 năm hay nhiều năm?
Sheet XEM CHI TIET muốn xem từng tháng trong năm hay tháng nào năm nào cũng được?
Tùy vào dữ liệu mà tính chuyện viết code.
Bài trên chỉ dùng trong 1 tháng thôi.
Bạn nói rõ ý bạn 1 lần đi.
Tôi nghĩ chỉ sử dụng trong 1 năm là quá rồi, Sang năm khác sử dụng file khác.
 
Sheet THOIGIAN bạn muốn lưu dữ liệu của 1 tháng hay 1 năm hay nhiều năm?
Sheet XEM CHI TIET muốn xem từng tháng trong năm hay tháng nào năm nào cũng được?
Tùy vào dữ liệu mà tính chuyện viết code.
Bài trên chỉ dùng trong 1 tháng thôi.
Bạn nói rõ ý bạn 1 lần đi.
Tôi nghĩ chỉ sử dụng trong 1 năm là quá rồi, Sang năm khác sử dụng file khác.



mình hiểu,
mình muốn là tùy chỉnh, mình muốn thêm bớt ngày tháng thì mình chỉnh code như thế nào ?
vd: minh muốn thêm ngay 01 của tháng 4 vào sau ngay 31
bạn có thể chỉ mình ko?
thanks
 
mình hiểu,
mình muốn là tùy chỉnh, mình muốn thêm bớt ngày tháng thì mình chỉnh code như thế nào ?
vd: minh muốn thêm ngay 01 của tháng 4 vào sau ngay 31
bạn có thể chỉ mình ko?
thanks
Phải nhập cột A Sheet THOIGIAN đúng định dạng như cũ (Nó là Text).
Thêm ngày tháng nào tuỳ ý miễn là trong cùng năm.
Phải sửa ngày tháng trong Sheet XEM CHI TIET trước khi bấm nút.
----------
Hổng biết đúng ý chưa, không nói rõ là thêm ngày tháng trong Sheet nào cả.
Híc!
Đình kèm File cho chắc ăn.
 

File đính kèm

Lần chỉnh sửa cuối:
Phải nhập cột A Sheet THOIGIAN đúng định dạng như cũ (Nó là Text).
Thêm ngày tháng nào tuỳ ý miễn là trong cùng năm.
Phải sửa ngày tháng trong Sheet XEM CHI TIET trước khi bấm nút.
----------
Hổng biết đúng ý chưa, không nói rõ là thêm ngày tháng trong Sheet nào cả.
Híc!
Đình kèm File cho chắc ăn.



mình rất cảm ơn bạn,
nhưng ban chưa hiểu?
ý của mình là tháng 3 là có 31 ngày nhưng mình muốn thêm 1 ngày của tháng 4
vd: 2012-03-31 và tiếp là 2012-04-01 và tháng nào cũng dậy?
vd: tháng 4 thi ngày 30 thì 2012-04-30 và thêm 1 ngày là 2012-05-01

mình muốn thêm các tháng lằm ở các sheet tương ướng
khi chọn ngày tháng nào mình nhấn lệnh sẽ cập nhận ngày tháng sheet tương ướng
vd: chọn thang 21012-05 thi se lay sheet t5
2012-06 sheet t6
tương tự các tháng khác cũng như dậy



( thêm vào XEM CHI TIET)

thanks ban
 

File đính kèm

Lần chỉnh sửa cuối:
T1,T2,T3 có dòng tiêu đề, các tháng khác không có... Tự sửa lại cho đồng nhất như T1 nhé
Dữ liệu các tháng được copy giống nhau khó kiểm tra dữ liệu.
Hổng biết muốn thêm 1 ngày của tháng sau rồi khi chọn tháng 12 thì thêm 1 ngày của sheet nào?
PHP:
Public Sub GPE()
Dim I As Long, k As Long, Dic As Object, Rng(), Ma(), N As Long, t As Variant
Dim WS As Worksheet, Tem As Long, Dat As Long, Ng As Long, Arr2(), Rng2()
t = Timer
    Set Dic = CreateObject("Scripting.Dictionary")
For Each WS In Worksheets
    If Month(WS.[A2]) = Month(Sheet1.[D5]) Then Tem = WS.Index
Next
            Ma = Sheet1.Range(Sheet1.[A7], Sheet1.[A65000].End(xlUp)).Value
                Rng = Sheets(Tem).Range(Sheets(Tem).[A2], Sheets(Tem).[I65000].End(xlUp)).Value
    ReDim Arr(1 To UBound(Rng, 1), 1 To 100)
        For I = 1 To UBound(Ma, 1)
            Dic.Add Ma(I, 1), I
        Next
        For I = 1 To UBound(Rng, 1)
                N = CDbl(Rng(I, 7))
            If Dic.exists(N) Then
                    Ng = Day(Rng(I, 1))
                        If Rng(I, 9) = "F1" Then Arr(Dic.Item(N), Ng * 3 - 2) = Rng(I, 2)
                        If Rng(I, 9) = "F2" Then Arr(Dic.Item(N), Ng * 3 - 1) = Rng(I, 2): Arr(Dic.Item(N), Ng * 3) = Rng(I, 5)
            End If
        Next
    Sheet1.[D7].Resize(UBound(Ma, 1), 100).Value = Arr
'------------- THEM 1 NGAY THANG SAU
If Tem < 13 Then
    Rng2 = Sheets(Tem + 1).Range(Sheets(Tem + 1).[A2], Sheets(Tem + 1).[I65000].End(xlUp)).Value
        ReDim Arr2(1 To UBound(Rng2, 1), 1 To 3)
            For I = 1 To UBound(Rng2, 1)
                N = CDbl(Rng(I, 7))
                    If Dic.exists(N) Then
                        If Rng(I, 9) = "F1" Then Arr2(Dic.Item(N), 1) = Rng(I, 2)
                        If Rng(I, 9) = "F2" Then Arr2(Dic.Item(N), 2) = Rng(I, 2): Arr2(Dic.Item(N), 3) = Rng(I, 5)
                    End If
            Next
                Dat = DateSerial(Year(Sheet1.[D5]), Month(Sheet1.[D5]) + 1, 1)
                For I = 1 To 100
                    If Sheet1.Cells(5, I).Value = Dat Then k = I
                Next
            Sheet1.Cells(7, k).Resize(UBound(Ma, 1), 3).Value = Arr2
End If
'------------------
Set Dic = Nothing
MsgBox Format(Timer - t, "0.0000") & " giay."
End Sub
Bạn kiểm tra với số liệu thật rồi cho biết kết quả nhé.
 

File đính kèm

Bài viết mới nhất

Back
Top Bottom