Cho mình hỏi cách trừ các sheet mà các cột lộn xộn...

Liên hệ QC

bqhhensam

Thành viên mới
Tham gia
12/4/08
Bài viết
14
Được thích
1
Mình có:
Sheet Hangton là chứa số lượng hàng tồn kho của các đại lý.
Sheet Hangban là chứa số lượng hàng đã bán của các đại lý.

Nếu mà trong 2 sheets các cột đại lý cùng đúng theo thứ tự thì mình chỉ đơn giản lấy Hangton trừ Hangban đi rồi copy ra. Nhưng trong 2 sheet các cột đại lý nằm không theo thứ tự giống nhau nên mình không trừ được. Vậy mình có thể làm cách nào đơn giản và nhanh nhất để lấy cập nhật lại Hangton của các đại lý?

Hoặc có cách nào để chuyển thứ tự các cột đại lý bên S. Hangban cho giống bên S. Hangton rồi trừ đi không?

Mong các bạn giúp đỡ ! Mình có kèm theo file...
 

File đính kèm

Mình có:
Sheet Hangton là chứa số lượng hàng tồn kho của các đại lý.
Sheet Hangban là chứa số lượng hàng đã bán của các đại lý.

Nếu mà trong 2 sheets các cột đại lý cùng đúng theo thứ tự thì mình chỉ đơn giản lấy Hangton trừ Hangban đi rồi copy ra. Nhưng trong 2 sheet các cột đại lý nằm không theo thứ tự giống nhau nên mình không trừ được. Vậy mình có thể làm cách nào đơn giản và nhanh nhất để lấy cập nhật lại Hangton của các đại lý?

Hoặc có cách nào để chuyển thứ tự các cột đại lý bên S. Hangban cho giống bên S. Hangton rồi trừ đi không?

Mong các bạn giúp đỡ ! Mình có kèm theo file...

Theo yêu cầu của bạn thì có nhiều cách

1 cách đơn giản trong số đó trong file đính kèm
 

File đính kèm

bqhhensam à, mình cứ dùng hàm Vlookup là có thể được mà
Xin lỗi mình không để ý cột lộn xộn chứ không hàng lộn xộn,đổi sang dùng hàm Hlookup nhé
 

File đính kèm

Lần chỉnh sửa cuối:
Xin lỗi bqhhensam, mình gửi lại file sửa.
 

File đính kèm

Mình có:
Sheet Hangton là chứa số lượng hàng tồn kho của các đại lý.
Sheet Hangban là chứa số lượng hàng đã bán của các đại lý.

Nếu mà trong 2 sheets các cột đại lý cùng đúng theo thứ tự thì mình chỉ đơn giản lấy Hangton trừ Hangban đi rồi copy ra. Nhưng trong 2 sheet các cột đại lý nằm không theo thứ tự giống nhau nên mình không trừ được. Vậy mình có thể làm cách nào đơn giản và nhanh nhất để lấy cập nhật lại Hangton của các đại lý?

Hoặc có cách nào để chuyển thứ tự các cột đại lý bên S. Hangban cho giống bên S. Hangton rồi trừ đi không?

Mong các bạn giúp đỡ ! Mình có kèm theo file...
Khi thay đổi chiều xem xét, bạn sẽ có hướng giải quyết mới.
Nếu bạn quy ước nhập hàng là số dương, xuất hàng (bán hàng) là số âm thì bạn không cần đến công thức, sử dụng công cụ mà bác Bill đã cung cấp cho bạn, đó là Pivot TableConsolidate. Bạn tải file về ngâm cứu nhé!
 

File đính kèm

Mình có:
Sheet Hangton là chứa số lượng hàng tồn kho của các đại lý.
Sheet Hangban là chứa số lượng hàng đã bán của các đại lý.

Nếu mà trong 2 sheets các cột đại lý cùng đúng theo thứ tự thì mình chỉ đơn giản lấy Hangton trừ Hangban đi rồi copy ra. Nhưng trong 2 sheet các cột đại lý nằm không theo thứ tự giống nhau nên mình không trừ được. Vậy mình có thể làm cách nào đơn giản và nhanh nhất để lấy cập nhật lại Hangton của các đại lý?

Hoặc có cách nào để chuyển thứ tự các cột đại lý bên S. Hangban cho giống bên S. Hangton rồi trừ đi không?

Mong các bạn giúp đỡ ! Mình có kèm theo file...
Gửi bạn cách dùng VBA
PHP:
Sub tinhton()
Dim ton As Long, ban As Double
Dim Rng As Range, cll As Range, ma As Range, daily As Range
Dim maban As Range, maton As Range, dailyban As Range, dailyton As Range
With Sheet1
    Set maton = .[A1].Resize(.[A65536].End(xlUp).Row, 1)
    Set dailyton = .[A1].Resize(1, 6)
End With
With Sheet2
    Set maban = .[A1].Resize(.[A65536].End(xlUp).Row, 1)
    Set dailyban = .[A1].Resize(1, 6)
End With
Set Rng = Range("B2:F" & [A65536].End(xlUp).Row)
For Each cll In Rng
    Set ma = Cells(cll.Row, 1)
    Set daily = Cells(1, cll.Column)
    With WorksheetFunction
        ton = Sheet1.Cells(.Match(ma, maton, 0), .Match(daily, dailyton, 0))
        ban = Sheet2.Cells(.Match(ma, maban, 0), .Match(daily, dailyban, 0))
    cll.Value = ton - ban
    End With
Next
Set Rng = Nothing: Set cll = Nothing: Set ma = Nothing: Set daily = Nothing
Set maban = Nothing: Set maton = Nothing: Set dailyban = Nothing: Set dailyton = Nothing
End Sub
 

File đính kèm

THẬT LÀ TUYỆT
  1. THỨ TỰ CÁC CỘT LỘN XỘN
  2. THỨ TỰ CÁC DÒNG MÃ LỘN XỘN
MÀ VẪN TÍNH ĐƯỢC NGON LÀNH

Cái này thì bạn chỉ cần dùng hàm MATCH để tìm dòng hay cột và một hàm Counta là có thể tăng giảm, hóan đổi dữ liệu tùy thích.
 
@boyxin: cách của bạn thật giải quyết vượt yêu cầu luôn nhưng mình vẫn chưa biết là đã dùng hàm gì để mình nghiên cứu thêm. Xin cảm ơn boyxin

@sealand: cách của sealand là cũng giải quyết được vấn đề của mình nhưng phải gõ công thức cho từng cột? còn hàng thì có thể tạo cột phụ để áp vào số dòng của hàm Hlookup :) . Cảm ơn bạn sealand.

@090TRI: mình đang nghiên cứu file. Vậy thì có cách nào để chuyển từ số dương thành số âm để mình khỏi phải thay đổi cách làm việc? :). Xin cảm ơn 090TRI

@hoangdanh282vn: mình không rành VBA, chưa nghiên cứu được, mình đọc cũng không hiểu ~_~. Mình chạy file cũng không được dù đã chỉnh security là low rồi mà? Xin cảm ơn hoangdanh282vn.
 
@hoangdanh282vn: mình không rành VBA, chưa nghiên cứu được, mình đọc cũng không hiểu ~_~. Mình chạy file cũng không được dù đã chỉnh security là low rồi mà? Xin cảm ơn hoangdanh282vn.

Vậy bạn cho mình hỏi là khi bạn ấn vào biểu tượng hình oval ghi Tinh ton thì nó có báo tín hiệu gì không hay cứ trơ trơ ra.
 
@boyxin: cách của bạn thật giải quyết vượt yêu cầu luôn nhưng mình vẫn chưa biết là đã dùng hàm gì để mình nghiên cứu thêm. Xin cảm ơn boyxin

@sealand: cách của sealand là cũng giải quyết được vấn đề của mình nhưng phải gõ công thức cho từng cột? còn hàng thì có thể tạo cột phụ để áp vào số dòng của hàm Hlookup :) . Cảm ơn bạn sealand.

@090TRI: mình đang nghiên cứu file. Vậy thì có cách nào để chuyển từ số dương thành số âm để mình khỏi phải thay đổi cách làm việc? :). Xin cảm ơn 090TRI

@hoangdanh282vn: mình không rành VBA, chưa nghiên cứu được, mình đọc cũng không hiểu ~_~. Mình chạy file cũng không được dù đã chỉnh security là low rồi mà? Xin cảm ơn hoangdanh282vn.

Bài toán của bạn có 3 phương án:

1. Sử dụng công thức ( bài của anh boyxin, anh sealand )
2. Sử dụng công cụ có sẵn
3. Sử dụng VBA ( bài của hoangdanh282vn )

Cách thứ nhất là phù hợp với bạn, nếu dữ liệu của bạn nhập vào đã quá nhiều, còn cách thứ 2 sẽ không phù hợp nữa vì bạn phải chuyển từ số dương sang số âm (bạn tạo một bảng phụ lấy từng giá trị nhân với (-1), rồi copy bảng phụ -> paste speacial -> value vào bảng chính ) mình gửi bạn tham khảo thôi.

Bạn nên xem công thức của anh sealand.


 
Lần chỉnh sửa cuối:
Bài toán của bạn có 3 phương án:

1. Sử dụng công thức ( bài của anh boyxin, anh sealand )
2. Sử dụng công cụ có sẵn
3. Sử dụng VBA ( bài của hoangdanh282vn )

Cách thứ nhất là phù hợp với bạn, nếu dữ liệu của bạn nhập vào đã quá nhiều, còn cách thứ 2 sẽ không phù hợp nữa vì bạn phải chuyển từ số dương sang số âm (bạn tạo một bảng phụ lấy từng giá trị nhân với (-1), rồi copy bảng phụ -> paste speacial -> value vào bảng chính ) mình gửi bạn tham khảo thôi.

Bạn nên xem công thức của anh sealand.


Cách của sealand mình đã hiểu. Hiện nay mình đang áp dụng cái đó. Mình dùng thêm cột phụ để trả về trị số row_index_num tương ứng cho hàm hlookup. Giờ chỉ thắc mắc là không bíêt boyxin đã dùng hàm gì, mình đang nghiên cứu +-+-+-+.
 
Có sắp xếp được. Bạn chọn vùng sắp xếp--> sort--> chọn option--> chon left to right
 
@boyxin: cách của bạn thật giải quyết vượt yêu cầu luôn nhưng mình vẫn chưa biết là đã dùng hàm gì để mình nghiên cứu thêm. Xin cảm ơn boyxin

@sealand: cách của sealand là cũng giải quyết được vấn đề của mình nhưng phải gõ công thức cho từng cột? còn hàng thì có thể tạo cột phụ để áp vào số dòng của hàm Hlookup :) . Cảm ơn bạn sealand.
  1. Với cách làm của mình thì bạn nhập dữ liệu vô tư không cần chỉnh sửa công thức (cho phép hàng, cột lộn xộn không theo đúng thứ tự)
  2. Muốn tìm hiểu thì vào Insert\Name\Define... xem 2 name trong đó
  3. Với công thức của sealand thì
    PHP:
     C2 =HLOOKUP(B$1,HANGTON!$A$1:$G$12,MATCH($A2,HANGTON!$A$1:$A$12,0),0)-HLOOKUP(B$1,HANGBAN!$A$1:$G$12,MATCH($A2,HANGBAN!$A$1:$A$12,0),0)
    rồi copy công thức (kéo fill cho các ô còn lại) áp dụng được cho thêm cả trường hợp thứ tự các dòng lộn xộn
 
đúng là sắp xếp được, nếu bết sớm thì không tìm công thức rồi T_T. Nhưng giờ mình lại thích dùng công thức vì nó cơ "động hơn". ^^
 
đúng là sắp xếp được, nếu bết sớm thì không tìm công thức rồi T_T. Nhưng giờ mình lại thích dùng công thức vì nó cơ "động hơn". ^^

muốn cơ động thì nhập dữ liệu thoải mái (hàng, cột có thể lộn xộn), không phải thay lại công thức
  1. điều này đã đạt được ở file của mình
  2. với file của sealand mình sửa chút ít như sau (xem file đính kèm)
 

File đính kèm

cám ơn boyxin nhiều. Với công thức kết hợp của boyxin và sealand này thì mọi chuyện được giải quyết thật hoàn hảo. Mình đọc và nghiên cứu mãi mới hiểu qua đó biết được thêm khái niệm đặt tên. Thật tuyệt vời ^_^.
 
Web KT

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

Back
Top Bottom