Hỏi nhanh - đáp nhanh về công thức (phần 1) (4 người xem)

  • Thread starter Thread starter SA_DQ
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Status
Không mở trả lời sau này.
Chào các pác,
Em mới tham gia diễn đàn. Vì vậy rất mong các pác chỉ giáo cho.
Pác nào bít chỉ cho e hàm tính ma trận nghịch đảo trong Excel có thể tính được ma trận có tối đa bao nhiêu hàng (cột)? Nếu ma trận e cần tính có số hàng (cột) vượt quá thì phải làm gì ạ? Có phải lập trình ko? Và cách lập trình như thế nào? Cảm ơn các pác nhiều nhiều lắm!!!
 
Cảm ơn bác nhưng như trong bảng kê, em kiểm tra bằng lọc AutoFilter thì tổng doanh số của từng nhà cung cấp ở sheet 1 không bằng dòng tổng cộng ở sheet 2.
Không đúng là do cột thành tiền ở sheet bảng kê T1-2008 của bạn dòng thì bạn dùng công thức dòng bạn gõ trực tiếp (không có số lượng, đơn giá cũng có tiền) còn bên sheet Giay bien nhan thang 1 (from) của bạn cột thành tiền dùng công thức SL*DG, vì vậy nếu cột SL hay DG bên sheet bảng kê T1-2008 bằng 0 => côth thành tiền bên sheet Giay bien nhan thang 1 cũng =0.
 
Hàm đổi số ra chữ thì em đã làm được, ở đây chỉ là kết xuất dữ liệu từ bảng nguồn Bảng kê thang 1 sang sheet 2 để in thành theo từng đối tượng và tổng các đối tượng phải bằng tổng bảng kê. nhưng theo ý kiến của riêng em nên lập bằng công thức đỡ đau đầu hơn là lập trình bằng VBA.
Cảm ơn bác nhiều !
Khi làm xong bài này bằng VBA mới để ý thấy rằng:
1> Nếu chỉ lọc 1 đ/k là TÊN KH thì sao không dùng AutoFilter cho nhanh? (nếu muốn lọc sang sheet khác thì cùng lắm là record lấy 1 macro làm công việc tự động này)
2> Đơn vị tính cái nào cũng là Kg, vậy cần gì cột này?
3> Cột ngày tháng tại sao lại Format dạng TEXT? Mai này muốn tính toán thì làm thế nào?
4> Phần nhập liệu thấy bạn ghi là THÁNG 1 NĂM 2008, vậy tôi đoán có lẽ bạn định nhập liệu mổi tháng 1 sheet chăng? Điều này thật không có lợi cho việc tổng hợp
5> Làm bài này bằng công thức không có vấn đề, chỉ là các hàm dò tìm... Cái khó khăn lớn nhất ở đây là phần trích lọc danh sách duy nhất (để làm Validation list).. và nó chính là nguyên nhân làm chậm quá trình tính toán!
Vài nhận xét nhỏ! Xin bạn lưu ý!
 
Thống kê lại số liệu từ 1 bảng tổng hợp ban đầu

Ý tưởng ban đầu của em là từ một bảng tổng hợp ban đầu để đưa ra các bảng kê chi tiết của từng khách hàng, số lượng và doanh số mua để in ra đưa tới từng KH cho họ ký nhận. Như vậy mỗi tháng sẽ có 1 bảng tổng hợp và chi tiết ra các khách hàng. Cái khó của em là không biết sử dụng hàm nào để trích lọc ra từng mảng dữ liệu để có thể in được ra một cách nhanh nhất.
Có ai có thể giúp em được không ?
 
Ý tưởng ban đầu của em là từ một bảng tổng hợp ban đầu để đưa ra các bảng kê chi tiết của từng khách hàng, số lượng và doanh số mua để in ra đưa tới từng KH cho họ ký nhận. Như vậy mỗi tháng sẽ có 1 bảng tổng hợp và chi tiết ra các khách hàng. Cái khó của em là không biết sử dụng hàm nào để trích lọc ra từng mảng dữ liệu để có thể in được ra một cách nhanh nhất.
Có ai có thể giúp em được không ?

Bạn kiểm tra dùm nha, mình nhiều việc, làm rồi gửi liền, chưa kịp kiểm tra, có gì không đúng cho mình biết, thân.
 
Bạn kiểm tra dùm nha, mình nhiều việc, làm rồi gửi liền, chưa kịp kiểm tra, có gì không đúng cho mình biết, thân.
Kiểm tra thì OK, nhưng mình vẫn thắc mắc khi lọc VD: Lương thị thủy thì cột số lượng, đơn giá không có mà tiền thì có (Từ số liệu gốc) Ý của tác giả là sao nhỉ.
 
Kiểm tra thì OK, nhưng mình vẫn thắc mắc khi lọc VD: Lương thị thủy thì cột số lượng, đơn giá không có mà tiền thì có (Từ số liệu gốc) Ý của tác giả là sao nhỉ.

Những mặt hàng nào là "rau củ quả" đều không có khối lượng và đơn giá, mình nghĩ là một bao rau củ có nhiều thứ trong đó, nên không thể lấy đơn giá, mình hiểu như vậy không biết đúng ý bạn ra bài không.
 
Mong các bác chỉ giúp có hàm nào nghich với hàm sumif không
 
Cho TÔi HỎi HÀm Excel,
Trong CÔng ThỨc HoẶc HÀm TÔi Đang DÙng, TÔi MuỐn Tham ChiẾu ĐẾn 1 Ô ThỎa ĐiỀu KiỆn Cho TrƯỚc NhƯng TÔi Ko BiẾt PhẢi DÙng HÀm GÌ HoẶc DiỄn ĐẠt NhƯ ThẾ NÀo ĐỄ Excel HiỂu. . TÔi LẤy VÍ DỤ ĐƠn GiẢn: If(a1>0,b1,b2). CÓ Bao NhiÊu CÁch ThỂ HiỆn A1? NgoÀi CÁc CÁch NhƯ: Click ChuỘt VÀo Ô A1, GÕ TrỰc TiẾp TỪ BÀn PhÍm,...nhỜ GiẢi PhÁp Excel HƯỚng DẪn GiÚp TÔi.

__________

Bạn nên chú ý đến hình thức viết bài nhé!.

Jenni
 
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn thử thằng này xem có đúng ý không?
 
À quên ha. Trong Excel cũng có hàm Address rồi mà!
Mình chỉ nhớ Address nằm trong VBA thôi nên...
Sorry nha!
Thanks.
 
Xin hỏi về Hàm IF
Các Bạn làm ơn cho Tôi hỏi :
Tôi phải lập công thức tính thưởng cho Đại lý như sau :
Doanh số trong khoảng :
3.000 - 7.000 thuong 500
10.000- 20.000 thuong 1.500
30.000 -50.000 thuong 2.500
.... Đại ý là các khỏang Doanh số không liên tục, chỉ xét thưởng trong khỏang đó thôi ví dụ đạt 8.000 thi cũng chỉ được 500, đạt 12.000 cũng chỉ được 1.500.
Tôi đã thử lập Công thức như vầy nhưng không được, không biết sai ở đâu mong các Bạn chỉ giúp

Ô Doanh số A1, ô thưởng B1:
B1=if(3.000<=A1<10.000,500,if(10.000<=A1<30.000,1.500,if(A1>=30.000,2.500,0)))

Tôi cũng đã thử một công thức khác chỉ tính riêng tiền thưởng cho khoảng Doanh số 3.000-7.000 thôi như sau : B1=if(3.000<=A1=<7.000,500,0) nhưng cũng không được
Mong các bBạn chỉ giúp Tôi sai ở đâu?
Cảm ơn Các Bạn nhiều
 
Lần chỉnh sửa cuối:
Do bạn không có file nên mình cũng sẽ viết hàm theo tổng quát cho bạn nha!
=IF(and(doanh số >= 3tr, doanh số <=7tr),500ngàn,10tr)
À, mà 10tr ở cuối là gì vậy!
(Nếu bạn muốn biết cụ thể hơn thì nên gửi file ví dụ mẫu lên chứ.
Thân.
 
File đây - Mong các Bạn chỉ giúp
 
Xin hỏi về Hàm IF
Các Bạn làm ơn cho Tôi hỏi :
Tôi phải lập công thức tính thưởng cho Đại lý như sau :
Doanh số trong khoảng :
3.000 - 7.000 thuong 500
10.000- 20.000 thuong 1.500
30.000 -50.000 thuong 2.500
.... Đại ý là các khỏang Doanh số không liên tục, chỉ xét thưởng trong khỏang đó thôi ví dụ đạt 8.000 thi cũng chỉ được 500, đạt 12.000 cũng chỉ được 1.500.
Tôi đã thử lập Công thức như vầy nhưng không được, không biết sai ở đâu mong các Bạn chỉ giúp

Ô Doanh số A1, ô thưởng B1:
B1=if(3.000<=A1<10.000,500,if(10.000<=A1<30.000,1.500,if(A1>=30.000,2.500,0)))

Tôi cũng đã thử một công thức khác chỉ tính riêng tiền thưởng cho khoảng Doanh số 3.000-7.000 thôi như sau : B1=if(3.000<=A1=<7.000,500,0) nhưng cũng không được
Mong các bBạn chỉ giúp Tôi sai ở đâu?
Cảm ơn Các Bạn nhiều

Bạn xem file đính kèm. Công thức đơn giản mà bạn. À, mà hàm IF làm gì có vụ if(3.000<=A1=<7.000,500,0)
 
Cảm ơn Bạn Ca_dafi nhiều
B1 = if (3.000 <= A1<= 7.000, 500,0) ý tôi là ở một ví dụ khác : Nếu Ô A1 ở trong một khỏang nào đó thì Ô B1 chỉ có một giá trị nhất định nào đó thôi . Nếu vậy thì phải lập công thức thế nào ?
 
Bạn dùng thêm công thức AND vậy
B1=if(and(A1>=3.000,A1<=7.000),500,0)
 
Không cần dùng AND... làm theo cách Salam đã làm ở bài #315 hoặc ca_dafi ở bài #316 là gọn nhất
(phân ra từng đoạn mà xét)
 
Các Bác cho em hỏi
Em muốn định dạng số giờ làm thêm
Ví dụ:
Giờ bắt đầu làm thêm từ 16:30
Giờ kết thúc làm thêm là 18:00
Số giờ làm thêm = 1.5

A1=16:30
A2=18:00
A3=A2-A1=1.5
(ô A3 cứ hiển thị là 0.083)
 
Các Bác cho em hỏi
Em muốn định dạng số giờ làm thêm
Ví dụ:
Giờ bắt đầu làm thêm từ 16:30
Giờ kết thúc làm thêm là 18:00
Số giờ làm thêm = 1.5

A1=16:30
A2=18:00
A3=A2-A1=1.5
(ô A3 cứ hiển thị là 0.083)
Ô A3 bạn vào công thức:
=HOUR(A2-A1)+MINUTE(A2-A1)/60
Bạn nhớ tại ô A3 vào Format Cell (ctrl + 1) chọn tab Number chọn General
 
Bạn chọn ô A3, rồi bấm phải chuột chọn Format Cells -> Custom -> trong mục Type bạn gõ h:mm -> OK.
Vậy sẽ ra 1:30 tức là 1 tiếng rưỡi đúng không!
 
mấy anh,chị cho em hỏi tí nha
Em có 2 bảng excel thu được và tồn nợ đại khái như vầy:hàng ngang thứ tự là tên khách hàng, mã số, nợ tháng, số tiền
vì bị lỗi trong quá trình làm việc em muốn tìm trong 2 bảng excel đó xem có khách hàng nào nằm ở bảng thu được nhưng trong bảng tồn nợ vẫn còn không
mấy anh, chị chỉ giúp em với nha thank nhiều
 
Lần chỉnh sửa cuối:
Mấy sư huynh cho em hỏi cái công thức nho nhỏ này tí.

Ví dụ em muốn tính công thức như sau cho 1 sản phẩm:
Ngày sản xuất (01/01/2008)
Ngày hết hạn (10/09/2008)
Ngày hiện tại (.....Ngày hiện hữu...)
Em muốn làm một công thức để quản lý hạn sử dụng của sản phẩm trên.
Em muốn làm công thức là cứ sản phẩm đó nếu còn 20% hạn sử sử dụng thì = "hết hạn sử dụng". Nếu hơn 20% so với ngày hiện tại thì nó sẽ = "còn hạn sử dụng"
Nhờ mấy sư huynh giúp sớm.
Thanks
 
Bạn xem file sẽ hiểu liền!
 
các bac cho em hoi cai nay :
em co day số là 12301 và 341, nếu số hàng trăm trùng nhau thi cho ra ket quả 12341.
em mới học nen chưa biet các bac giụp gium, xin cảm ơn.
 
các bac cho em hoi cai nay :
em co day số là 12301 và 341, nếu số hàng trăm trùng nhau thi cho ra ket quả 12341.
em mới học nen chưa biet các bac giụp gium, xin cảm ơn.
Bạn cho hỏi:
1> 2 số này nằm ở 2 ô khác nhau phải không?
2> Nếu chử số hàng trăm không trùng thì làm gì?
 
2 số này nằm ở 2 ô khác nhau, nếu ko trùng thì bằng 0
 
Không biết đúng ý bạn không?
 
Lần chỉnh sửa cuối:
đúng rồi cam ơn ban nhé

cho minh hoi thêm, có 1 dãy số 12301 chạy tới 12400 so voi một dãy số bất kỳ cũng 5 chữ số nếu sai 1 số bất kỳ hàng nào thì vẫn cho ra kết quả 1 số đó trong dãy số đã cho
 
Chỉnh sửa lần cuối bởi điều hành viên:
Vậy bạn muốn số nào ra đời.
12301 hay 12400?
 
trong day so tu 12301 den 12400 nếu so voi 5 số khác bất kỳ ở một ô khác nếu trùng 4 chữ số thì cho ra kết quả
 
mong các bạn giúp tui

bạn nào làm mong rằng có cả fỉe đính kèm cho tớ
 
trong day so tu 12301 den 12400 nếu so voi 5 số khác bất kỳ ở một ô khác nếu trùng 4 chữ số thì cho ra kết quả
Mình nghĩ rằng bạn muốn số trùng nhau và trùng cả vị trí luôn đúng không?
Bạn nên nói kỷ để mình còn biết đường làm nữa. Câu của bạn còn mơ hồ quá đó!
Thân.
 
không ai giúp em được àh
bài này khó quá các anh-+*/-+*/-+*/-+*/
 
anhgiải thích hộ em lỗi đó nha
và anh có thể giải thích hộ emý nghĩa trong câu lệnh sum được không vậy(em hiểu câu lệnh sum nhưng không hiểu cấu trúc trong câu lệnh đó của anh).thank:.,em ko hiểu lắm
 
Lần chỉnh sửa cuối:
anh giúp em lý giải lện này được không
lệnh sum đó
-\\/.

Muốn tìm hiểu công thức nào thì bạn làm như sau
  1. Chọn ô chứa công thức cần tìm hiểu
  2. Vào Tools\Formula Auditing\Evaluate Formula
  3. Từ từ nhấn nút Evaluate xem cách tính

Cứ như vậy nhé sẽ nhanh hiểu thôi
 
Muốn tìm hiểu công thức nào thì bạn làm như sau
  1. Chọn ô chứa công thức cần tìm hiểu
  2. Vào Tools\Formula Auditing\Evaluate Formula
  3. Từ từ nhấn nút Evaluate xem cách tính
Cứ như vậy nhé sẽ nhanh hiểu thôi
cảm ơn vì các chỉ bảo có ích về sau%#^#$%#^#$%#^#$

anh nào giải giúp em 2 con em viết đậm ở bài này nha
thank các anh-\\/.-\\/.-\\/.-\\/.
 
Chỉnh sửa lần cuối bởi điều hành viên:
  1. Trích những thí sinh đạt xuất sắc
  2. Trích những thí sinh thi rớt với lý do là không có đủ điểm các môn thi
cảm ơn bác nhưng em không thấy vùng đk để bác thực hiện lọc!$@!!!$@!!!$@!! không bít bác làm bằng cách nào**~****~** có thể chỉ rõ cho em thấy được không.thank bác nha
 
Lần chỉnh sửa cuối:
Hỏi về cách dùng hàm OFFSET.

Code: OFFSET(cell bắt đầu, tham số 1, tham số 2, tham số 3, tham số 4)
Công dụng của hàm này tôi đã tạm hiểu nhưng vẫn chưa rõ:

- Trong trường hợp nào thì nên sử dụng hàm OFFSET;

- Khi dùng hàm này thì kết quả cho ra ở đâu (có thể dùng cột phụ cho hiện kết quả để giải thích được không) ?

- Cách sử dụng kết quả đó cho bước tiếp theo như thế nào ?

Tôi thấy các anh các chị trên GPE thường dùng hàm này trong Name. Vậy nhờ các bạn giải thích giúp:
 
Lần chỉnh sửa cuối:
Hỏi về cách dùng hàm OFFSET.

Code: OFFSET(cell bắt đầu, tham số 1, tham số 2, tham số 3, tham số 4)
Công dụng của hàm này tôi đã tạm hiểu nhưng vẫn chưa rõ:

- Trong trường hợp nào thì nên sử dụng hàm OFFSET;

- Khi dùng hàm này thì kết quả cho ra ở đâu (có thể dùng cột phụ cho hiện kết quả để giải thích được không) ?

- Cách sử dụng kết quả đó cho bước tiếp theo như thế nào ?

Tôi thấy các anh các chị trên GPE thường dùng hàm này trong Name. Vậy nhờ các bạn giải thích giúp:

Bạn xem bài hướng dẫn tại đây nhé!
http://www.giaiphapexcel.com/forum/showthread.php?t=7188
 
Chào GPE!
Mong các anh chị giải thích giúp em đoạn code dưới.

Sub Macro2()
Range("H").Activate
ActiveCell.FormulaR1C1 = "=SUM(R[-8]C:R[-1]C)"

End Sub

Em không hiểu phần Sum lằm.

Em không thấy hỏi nhanh đáp nhanh về VBA, nên pots tạm vào đây.
Mod giúp em chuyển đến đúng vị trí nhé.
Thanks
 
Các Bác cho em hỏi
Em muốn tính 6 tháng làm việc liền kề trước khi nghỉ việc
Ví dụ
Ngày nghỉ việc là G1= 30/4/2008
6 tháng làm việc liền kề là A1= 10/2007,B1= 11/2007,C1 =12/2007,D1=1/2008,E1=2/2008,F1=3/2008
Em thử tính F1=G1-30= 3/20008 (OK), E1= F1-30 nhưng kết quả E1 vẫn bằng 3/2008
Có cách nào chỉ cần nhập ngày nghỉ việc sẽ tính được 6 tháng liền kề trước tháng nghỉ việc không ạ?
Nhờ các Bác giúp đỡ
 
Các Bác cho em hỏi
Em muốn tính 6 tháng làm việc liền kề trước khi nghỉ việc
Ví dụ
Ngày nghỉ việc là G1= 30/4/2008
6 tháng làm việc liền kề là A1= 10/2007,B1= 11/2007,C1 =12/2007,D1=1/2008,E1=2/2008,F1=3/2008
Em thử tính F1=G1-30= 3/20008 (OK), E1= F1-30 nhưng kết quả E1 vẫn bằng 3/2008
Có cách nào chỉ cần nhập ngày nghỉ việc sẽ tính được 6 tháng liền kề trước tháng nghỉ việc không ạ?
Nhờ các Bác giúp đỡ
Thử dùng công thức này xem:
 
Chào GPE!
Mong các anh chị giải thích giúp em đoạn code dưới.
Sub Macro2()
Range("H").Activate
ActiveCell.FormulaR1C1 = "=SUM(R[-8]C:R[-1]C)"
End Sub
Em không hiểu phần Sum lằm.

Em không thấy hỏi nhanh đáp nhanh về VBA, nên pots tạm vào đây.
Mod giúp em chuyển đến đúng vị trí nhé.
Thanks
Cái này chỉ là SUM bình thường thôi mà bạn, có điều công thức bạn gõ trên bảng tính thì được thể hiện dưới dạng A1, còn khi record macro nó lại thể hiện địa chỉ dưới dạng R1C1
Ở đây
ActiveCell.FormulaR1C1 = "=SUM(R[-8]C:R[-1]C)"
giã sử Active Cell là H9, vậy R[-8] là dòng 1 (cách H9 8 dòng về phía trên), [R-1] là dòng 8 (cách H9 1 dòng về phía trên)... chử C đứng 1 mình có nghĩa là lấy cột tại Active Cell (tức cột H)
Vậy công thức này có thể viết = SUM(H1:H8) ..(với điều kiện Active Cell là H9)
Ghi chú: R RowCColumn... Các số nằm phía sau gần giống với Offset
Thí nghiệm: Bạn gõ số bất kỳ vào các cell từ H1 đến H8... Tại H9 bạn gõ công thức =SUM(H1:H8)... Khi có kết quà, bạn vào menu Tools\Options\General và đánh dấu chọn vào mục Reference style rồi xem lại công thức đã gõ tại H9
 
chào các bạn.! Nếu các bạn ko vội vã thì xin ghé qua dòng tin này cho mình hỏi chút nhé: .. giả sử mình đang ở ô "A2" mình gõ =9*6+12 thì kết quả tại ô "A2" là 66. và mình muốn lập Công Thức làm sao để ô C3 chỉ hiện 9*6+12 (mà ko hiện kết quả 66) khi mình gõ ở ô A2 như trên: 9*6+12


Các bạn ơi.. Mình đang tìm hiểu Excel. mình thấy các bạn có sử dụng câu lệnh --> Mình ví dụ như này này --> {=SUMIF(.......))}............... --> Cho mình hỏi tại sao lại có hai cái dấu " {" và " }" ở đầu và cuối của một số câu lệnh vậy? .. Câu lệnh gì thì mới dùng bạn? Sao mình copy để dùng thì ko dc nhỉ.? . Mong các bạn trả lời giúp tuânđức. Thank.!
 
Chỉnh sửa lần cuối bởi điều hành viên:
1.Theo ý bạn thì ở ô C3 bạn gõ công thức: =DFormula(A2). Với công thức phải được thêm vào VBA như sau: (Bạn nhấn Alt + F11 -> Nhấp chuột phải vào ThisWorkbook -> Chọn Insert -> Module -> Rồi copy code dưới vào trang trống kế bên).
Mã:
Function DFormula(Cell As Range) As String
If Left(Cell.Formula, 1) = "=" Then
DFormula = Right(Cell.Formula, Len(Cell.Formula) - 1)
Else
DFormula = Cell.Formula
End If
End Function
Vậy là ô C3 đã giải quyết xong.
2. Cái dấu mà bạn nói gọi là công thức mãng. Nếu bạn thấy có công thức nào có dấu như vậy mà muốn copy qua chỗ khác để sử dụng thì khi bạn kết thúc công thức nhớ nhấn tổ hợp phím Ctrl + Shift + Enter.
Bạn gõ vào khung tìm kiếm trên diễn đàn sẽ có rất nhiều bài viết về công thức mảng tùy bạn chọn lựa.
Cho bạn 1 ví dụ đơn giản cho vui nha!
Xem link: http://www.giaiphapexcel.com/forum/showthread.php?t=7917
Chúc bạn thành công!
 
chào các bạn.! Nếu các bạn ko vội vã thì xin ghé qua dòng tin này cho mình hỏi chút nhé: .. giả sử mình đang ở ô "A2" mình gõ =9*6+12 thì kết quả tại ô "A2" là 66. và mình muốn lập Công Thức làm sao để ô C3 chỉ hiện 9*6+12 (mà ko hiện kết quả 66) khi mình gõ ở ô A2 như trên: 9*6+12
Bạn xem bài tại topic này sẽ làm được. Dùng Hàm Macro4
http://www.giaiphapexcel.com/forum/showthread.php?p=90279#post90279

Các bạn ơi.. Mình đang tìm hiểu Excel. mình thấy các bạn có sử dụng câu lệnh --> Mình ví dụ như này này --> {=SUMIF(.......))}............... --> Cho mình hỏi tại sao lại có hai cái dấu " {" và " }" ở đầu và cuối của một số câu lệnh vậy? .. Câu lệnh gì thì mới dùng bạn? Sao mình copy để dùng thì ko dc nhỉ.? . Mong các bạn trả lời giúp tuânđức. Thank.!

Công thức phải có dấu {=....} vì đây là công thức mảng, sao khi gõ công thức xong bạn phải ấn tổ hợp phím Ctrl+Shift+Enter
 
Cách giải bài toán như thế nào?
1/ Có bao nhiêu sinh viên thi rớt cả 2 môn (dưới 5 điểm)
2/ Có bao nhiêu sinh viên có ít nhất 1 môn đạt 3,5
 
Mình cám ơn các bạn. Mình đã làm được như bạn Pikachu chỉ bảo rồi. Đoạn code hay thật...., thank các bạn..
 
Cho tôi hỏi chút:
Tôi có 1 bảng tính Ex gồm rất nhiều khoản thưởng của CBCNV trong công ty.Danh sách rất dài khoảng trên 4000 ròng. Tôi muốn Những tên trùng nhau thì cộng vào với nhau và chỉ ra 1 ròng thôi còn các dòng trùng khác thì trả về giá trị bằng không. Các chỉ giáo cho mình với nhé.Thank
 
Cho tôi hỏi chút:
Tôi có 1 bảng tính Ex gồm rất nhiều khoản thưởng của CBCNV trong công ty.Danh sách rất dài khoảng trên 4000 ròng. Tôi muốn Những tên trùng nhau thì cộng vào với nhau và chỉ ra 1 ròng thôi còn các dòng trùng khác thì trả về giá trị bằng không. Các chỉ giáo cho mình với nhé.Thank

Gừi file mẫu lên thì anh em tra lời mới nhanh và bạn vận dụng trong file của bạn mới dễ dàng
 
hình như cái kiểu cộng số liệu này bác anh tuấn có làm rồi. Nhưng em không nhớ cách làm chính xác. Qua bài tham khảo của bác em hiểu cách làm thôi. Trong trường hợp này, chỉ cần sử dụng hàm if kết hợp với countif , sumif thôi.
giả sử cột a là mã số nhân viên ( bắt đầu a5), cột b là diễn giải, cột c là số tiền. tại cell d5 bạn nhập công thức sau:

=IF(COUNTIF($A$5:A5,A5)=1,SUMIF(A5:$A$16,A5,C5:$C$16),"")
sau đó kéo chuột copy công thức là xong.
 
Cho tôi hỏi chút:
Tôi có 1 bảng tính Ex gồm rất nhiều khoản thưởng của CBCNV trong công ty.Danh sách rất dài khoảng trên 4000 ròng. Tôi muốn Những tên trùng nhau thì cộng vào với nhau và chỉ ra 1 ròng thôi còn các dòng trùng khác thì trả về giá trị bằng không. Các chỉ giáo cho mình với nhé.Thank

Cấu trúc dữ liệu của bạn như thế nào!? Theo mình, bạn có thể sử dụng công cụ Subtotal của excel hoặc Pivotable đều được. Bạn có thể post fiel với một ít dữ liệu để dễ hình dung không?
 
Nhờ giải thích công thức lạ

Kiến thức của các bác quả thực là em không thể theo nổi. Em đã cố hiểu theo máy móc rồi nhưng không thể hình dung nó là cái gì để mà áp dụng. Ví dụ xưa nay áp dụng hàm nếu là tham chiếu là chữ thì chỉ có ở trong dấu “B1” (Tức mỗi bên là dấu kép). Sao công thức này lại như sau: =INDIRECT("'"&Tonghop!$B5&"'!A1") bên phải ô B5 có một dấu đơn và một dấu kép. Em rất mong các bác chỉ giúp hộ em ý nghĩa của công thức này. Em xin cảm ơn vô cùng.
 
Kiến thức của các bác quả thực là em không thể theo nổi. Em đã cố hiểu theo máy móc rồi nhưng không thể hình dung nó là cái gì để mà áp dụng. Ví dụ xưa nay áp dụng hàm nếu là tham chiếu là chữ thì chỉ có ở trong dấu “B1” (Tức mỗi bên là dấu kép). Sao công thức này lại như sau: =INDIRECT("'"&Tonghop!$B5&"'!A1") bên phải ô B5 có một dấu đơn và một dấu kép. Em rất mong các bác chỉ giúp hộ em ý nghĩa của công thức này. Em xin cảm ơn vô cùng.
  1. Trong trường hợp này =INDIRECT(" ' "&Tonghop!$B5&" '!A1") thì " ' " là không cần.
  2. Nhưng không phải là thừa, vì đề phòng người sử dụng thay đổi tên sheet Tonghop thành tên mới có khoảng cách hoặc có dấu tiếng việt thì " ' " giúp cho công thức nhận ra tên sheet (có khoảng cách hoặc có dấu tiếng việt ) để tiếp tục tính toán mà người sử dụng không phải thay đổi lại công thức
  3. Hãy thử bỏ dấu " ' " xem kết quả -> thay đổi tên sheet (có khoảng cách hoặc có dấu tiếng việt ) lại xem kết quả -> ...
 
Các bác ơi, cho em hỏi ngu tí, em đặt tên cho 1 vùng ở sheet1 A1:A5 (ấn F3) là Tenchuyengia, xong rồi em sang sheet2 muốn hiện đúng thứ tự lần lượt các tên chuyên gia này, em vào ô A6 bấm =Ten, sao không được nhỉ (#value), nó chỉ hiểu tương ứng vị trí ở sheet1 thôi (giống như sheet2!A3=Sheet2!A3). Cho em hỏi là khi muốn trích dữ liệu (ở các sheet khác) của cả vùng Tenchuyengia ở Sheet1 thì làm thế nào? (em không muốn trích dẫn trực tiếp (như Sheet1!A$!$:A$5$) mà phải trích dẫn theo name (Tenchuyengia) kia
 
Lần chỉnh sửa cuối:
Các bác ơi, cho em hỏi ngu tí, em đặt tên cho 1 vùng ở sheet1 A1:A5 (ấn F3) là Tenchuyengia, xong rồi em sang sheet2 muốn hiện đúng thứ tự lần lượt các tên chuyên gia này, em vào ô A6 bấm =Ten, sao không được nhỉ (#value), nó chỉ hiểu tương ứng vị trí ở sheet1 thôi (giống như sheet2!A3=Sheet2!A3). Cho em hỏi là khi muốn trích dữ liệu (ở các sheet khác) của cả vùng Tenchuyengia ở Sheet1 thì làm thế nào? (em không muốn trích dẫn trực tiếp (như Sheet1!A$!$:A$5$) mà phải trích dẫn theo name (Tenchuyengia) kia

tại bất kỳ vị trí nào của sheet nào. muốn lấy nguyên như vùng đã đặt tên "Tenchuyengia" thì nhập công thức như sau
PHP:
=index(Tenchuyengia,rows($1:1))
hoặc muốn loại bỏ lỗi khi kéo thừa dòng thì
=if(rows($1:1)>counta(Tenchuyengia),"",index(Tenchuyengia,rows($1:1)))
Rồi copy công thức xuống (kéo fill xuống)
 
Lần chỉnh sửa cuối:
Đã lấy nguyên cả mãng Tenchuyengia luôn thì cần gì công thứcdài dòng rắc rối chứ!
Quét chọn 1 vùng trống nào đó rồi gõ vào thanh Formula công thức =Tenchuyengia ---> Ctrl + Shift + Enter là đươc rồi
 
Các bác xem hộ em xem sao cái hàm Vlookup này lại bị sai là sao? Em thêm có mỗi một lệnh IF mà!
 
Lần chỉnh sửa cuối:
Mãi mà k upload được hình lên, các bác thông cảm, em copy ra đây vậy. Em viết cái này, thấy được,

=VLOOKUP($B$4,Tso!$C$22:$R$38,IF(A7=Tso!$D$22,2,IF(A7=Tso!$E$22,3,IF(A7=Tso!$F$22,4,IF(A7=Tso!$G$22,5,IF(A7=Tso!$H$22,6,IF(A7=Tso!$I$22,7,IF(A7=Tso!$J$22,8,1))))))),0)

Viết thêm 1 lệnh if nữa

=VLOOKUP($B$4,Tso!$C$22:$R$38,IF(A13=Tso!$D$22,2,IF(A13=Tso!$E$22,3,IF(A13=Tso!$F$22,4,IF(A13=Tso!$G$22,5,IF(A13=Tso!$H$22,6,IF(A13=Tso!$I$22,7,IF(A13=Tso!$J$22,8,IF(A13=Tso!$k$22,9,1)))))))),0)
thế là hỏng luôn, nó báo contains errors
 
Cố gắng up file lên, khó hình dung quá!
Tôi có nhận xét: Với IF nhiều thế sao bạn không dùng hàm MATCH
Ví dụ thay 1 đóng IF ấy thành:
IF(ISERROR(MATCH(A13,Tso!$D$22:$k$22,0)),1,MATCH(A13,Tso!$D$22:$k$22,0)+1)
Tức tìm A13 trong vùng Tso!$D$22:$k$22 xem nó nằm vị trí thứ mấy
Đại khái là vậy! (kiểm tra lại cú pháp nha)
 
Lần chỉnh sửa cuối:
=VLOOKUP($B$4,Tso!$C$22:$R$38,IF(A13=Tso!$D$22,2,IF(A13=Tso!$E$22,3,IF(A13=Tso!$F$22,4,IF(A13=Tso!$G$22,5,IF(A13=Tso!$H$22,6,IF(A13=Tso!$I$22,7,IF(A13=Tso!$J$22,8,IF(A13=Tso!$k$22,9,1)))))))),0)
thế là hỏng luôn, nó báo contains errors
nếu bạn dùng office 2003 hay phiên bản thấp hơn thì chỉ sử dụng tối đa 7 vòng if lồng nhau. vì vậy mà công thức trên của bạn báo lỗi là phải.
nhìn vào công thức của bạn mình có thể sửa lại như sau
=VLOOKUP($B$4,Tso!$C$22:$R$38,MATCH(A13,$D$22:$K$22,0)+1,0)
 
nếu bạn dùng office 2003 hay phiên bản thấp hơn thì chỉ sử dụng tối đa 7 vòng if lồng nhau. vì vậy mà công thức trên của bạn báo lỗi là phải.
nhìn vào công thức của bạn mình có thể sửa lại như sau
Cái này gần giống cách tôi vừa làm... nhưng thiếu hàm bẩy lổi thì không đựoc đâu... Vì có 1 chổ trong chuổi hàm của bạn kungfu nói rằng: Nếu A13 không bằng tất cả thì lấy kết quả là 1
 
Cái này gần giống cách tôi vừa làm... nhưng thiếu hàm bẩy lổi thì không đựoc đâu... Vì có 1 chổ trong chuổi hàm của bạn kungfu nói rằng: Nếu A13 không bằng tất cả thì lấy kết quả là 1
Cám ơn các bác, em dùng match rồi, tối qua về nghiền mới biết, sáng nay thấy các bác nói, thấy đúng quá, Excel2003, if không lặp quá 7 vòng.
 
Cám ơn các bác, em dùng match rồi, tối qua về nghiền mới biết, sáng nay thấy các bác nói, thấy đúng quá, Excel2003, if không lặp quá 7 vòng.
Bạn nhớ cho 1 điều: Cái gì có tính "lập" hoặc "tuần hoàn" thì đừng nên dùng IF... Hãy nghĩ đến việc thiết lập quy luật cho nó bằng các hàm nào đó mà bạn có thể nghĩ ra được!
Có đôi khi chỉ cần sửa lại 1 tí dử liệu gốc thì mọi chuyện lại trở nên dể dàng...
Vô chừng lắm ---> Công thức là dựa vào dử liệu nhập mà
 
Tách dữ liệu

Mong các cao thủ giúp em công thức tách dữ liệu.
Em có 1 dòng dữ liệu, muốn tách nó ra từng loại như sau:
vd:
A1= AS100|SD200|DF300|FG400
Em muốn tách thành:
B1= 100
C1= 200
D1= 300
E1= 400

Mong nhận được sự giúp đở của anh chị.

Thân!
 
Lần chỉnh sửa cuối:
Mong các cao thủ giúp em công thức tách dữ liệu.
Em có 1 dòng dữ liệu, muốn tách nó ra từng loại như sau:
vd:
A1= AS100|SD200|DF300|FG400
Em muốn tách thành:
B1= 100
C1= 200
D1= 300
E1= 400

Thân!
bạn xem file có được không nhé!
 
Tạm dùng cái này thử:
PHP:
Option Explicit
Sub Tach()
   Dim Rng As Range, Clls As Range
   Dim i As Integer
   Dim iText As String
   Application.ScreenUpdating = False
   [A1].CurrentRegion.Copy Destination:=[C1]
   Set Rng = Range("C2:C" & [C1000].End(xlUp).Row)
   Rng.TextToColumns Destination:=[C2], DataType:=xlDelimited, Other:=True, OtherChar:="|"
   [C1].ClearContents
   For Each Clls In [C2].CurrentRegion
       For i = Len(Clls) To 1 Step -1
         iText = Mid(Clls, i, 1)
         If IsNumeric(iText) = False And iText <> "." Then
            With Clls
               .Value = Replace(.Value, iText, "")
               .NumberFormat = "0.00"
            End With
         End If
       Next i
    Next Clls
    Application.ScreenUpdating = True
End Sub
(chưa hay lắm, sẽ chỉnh sửa và nâng cấp sau)
 
Cải tiến thêm 1 bước nữa, có lẽ nhanh hơn 1 chút do vòng lập For không quét hết chuổi (gặp Number thì Exit For ngay)
PHP:
Option Explicit
Sub Tach()
   Dim Rng As Range, Clls As Range
   Dim i As Integer, K As Integer
   Dim iText As String, Temp1 As String, Temp2 As String
   Application.ScreenUpdating = False
   [C1].CurrentRegion.ClearContents
   [A1].CurrentRegion.Copy Destination:=[C1]
   Set Rng = Range("C2:C" & [C1000].End(xlUp).Row)
   Rng.TextToColumns Destination:=[C2], DataType:=xlDelimited, Other:=True, OtherChar:="|"
   [C1].ClearContents
   For Each Clls In [C2].CurrentRegion
       For i = 1 To Len(Clls)
         iText = Mid(Clls, i, 1)
         If IsNumeric(iText) Then K = i: Exit For
       Next i
       With Clls
          Temp1 = Left(.Value, K - 1): Temp2 = Right(.Value, Len(.Value) - K + 1)
          .Value = Temp2: .NumberFormat = "0.00"
       End With
       Cells(1, Clls.Column) = Temp1
    Next Clls
    Application.ScreenUpdating = True
End Sub
Xem file nha
 
Mã:
'=MID($A2,FIND(E$1,$A2,1)+2,LEN($A2)-FIND(E$1,$A2,1))
'=MID($A2,FIND(B$1,$A2,1)+2,FIND("|",$A2,FIND(B$1,$A2,1))-2-FIND(B$1,$A2,1))
Sub chay()
For i = 2 To 5
ten = Cells(1, i)
For rn = 2 To Sheet2.Range("A2").End(xlDown).Row
    If i = 5 Then
    Cells(rn, i) = Mid(Cells(rn, 1), Application.WorksheetFunction.Find(ten, Cells(rn, 1), 1) + 2, Len(Cells(rn, 1)) - Application.WorksheetFunction.Find(ten, Cells(rn, 1), 1))
    Else
    Cells(rn, i) = Mid(Cells(rn, 1), Application.WorksheetFunction.Find(ten, Cells(rn, 1), 1) + 2, Application.WorksheetFunction.Find("|", Cells(rn, 1), Application.WorksheetFunction.Find(ten, Cells(rn, 1), 1)) - 2 - Application.WorksheetFunction.Find(ten, Cells(rn, 1), 1))
    End If
Next
Next
End Sub
Cho em tham gia với, ở đây vui quá!
--=0--=0--=0
Bạn thử nhấn Alt + F8 rồi, chạy Macro "Chay" xem đúng không!
Cái này áp dụng từ công thức bình thường vào thành code thôi! Đừng cười em nha!
Thân.
 
Code này mở rộng hơn cho bạn, ngoài việc có 4 lựa chọn thì có thể hơn nửa về phương ngang và dọc luôn. Hay cả Sheet nào cũng chạy tốt hết.
Nhưng ô B1 và A2 vẩn phải là ô bắt đầu đó nha.
Mã:
Sub chay()
k = [B1].End(xlToRight).Column
For i = 2 To k
ten = Cells(1, i)
For rn = 2 To [A2].End(xlDown).Row
    If i = k Then
    Cells(rn, i) = Mid(Cells(rn, 1), Application.WorksheetFunction.Find(ten, Cells(rn, 1), 1) + 2, Len(Cells(rn, 1)) - Application.WorksheetFunction.Find(ten, Cells(rn, 1), 1))
    Else
    Cells(rn, i) = Mid(Cells(rn, 1), Application.WorksheetFunction.Find(ten, Cells(rn, 1), 1) + 2, Application.WorksheetFunction.Find("|", Cells(rn, 1), Application.WorksheetFunction.Find(ten, Cells(rn, 1), 1)) - 2 - Application.WorksheetFunction.Find(ten, Cells(rn, 1), 1))
    End If
Next
Next
End Sub
 
Giá trị Âm

Em có 2 Cell như sau:
A1: âm
B1: 100
C1: Nếu A1 là âm thì giá trị tại C1 là -100, ngược lại thì dương.

Em dùng công thức như sau: C1 = if (A1="âm","-" & B1, B1) Vẩn cho giá trị đúng, giá trị tại C1 lúc này có thể sữ dụng tính toán được. -0-/.

Nhưng em thấy cùi bắp quá. +-+-+-+ Không biết anh chị có cách nào hay hơn ko? Chỉ em với. -\\/.

Thân!
 
Bạn chỉ cần thêm dấu - trước b1 thôi.
=IF(A1="âm",-B1,B1)
 
Dò Tìm Giá Trị

Em có bài toán dò tìm nhờ các anh chị giúp đở về công thức.
Em ko biết diển đạt thế nào nữa, mời anh chị xem file.

Em chân thành cám ơn!
Thân!
 
Lần chỉnh sửa cuối:
Lần chỉnh sửa cuối:
Em có bài toán dò tìm nhờ các anh chị giúp đở về công thức.
Em ko biết diển đạt thế nào nữa, mời anh chị xem file.

Em chân thành cám ơn!
Thân!
Dùng thử ct sau
=IF(OR(COUNTIF(Code,RIGHT(A2,3))>0,COUNTIF(Code,LEFT(A2,3))>0),"A","B")
 
Cái này:
=IF(COUNTIF($I$2:$I$10,LEFT($A2,3))+COUNTIF($I$2:$I$10,RIGHT($A2,3))>=1,"A","B")
Và cái này:
=IF(OR(COUNTIF(Code,RIGHT(A2,3))>0,COUNTIF(Code,LE FT(A2,3))>0),"A","B")
Không cần bất cứ toán tử so sánh nào cả!
Chỉ cần:
=IF(COUNTIF($I$2:$I$10,LEFT($A2,3))+COUNTIF($I$2:$I$10,RIGHT($A2,3)),"A","B")
Hoặc:
=IF(OR(COUNTIF(Code,Right(A2,3)),COUNTIF(Code,Left(A2,3))),"A","B")
Là quá đủ
 
Đếm dữ liệu không trùng

Tôi đã xem rất nhiều bài hướng dẫn của các bạn về cách đếm dữ liệu loại bỏ những ô trùng nhau, khi đó chúng ta dùng công thức thường là:
SUMPRODUCT((1/COUNTIF(vungdem,,vungdem))*1)
Nhưng có một vấn đề mà tôi găp phải là khi dữ liệu ở vùng đếm là 0 thì công thức không tính được(không dùng mảng) và khi đếm thêm với một vài điều kiện nữa thì tôi không biết dùng hàm này thế nào. Ví dụ:

17-Aug-07
a 21-Sep-07
s 21-Aug-07
d 20-Aug-07
a
22-Sep-07
s 15-Sep-07
d 14-Aug-07
d
s 22-Aug-07
a 21-Aug-07
s 13-Aug-07
a 17-Aug-07
d 16-Sep-07
d 14-Aug-07
s 20-Sep-07
a 28-Aug-07
a
thực tế chỉ có a,s,d dùng công thức nào để đếm được trong 3 chữ đó có mấy chữ xuất hiện trong tháng 8 và mấy chữ trong tháng 9? Rất mong các bạn chỉ bảo.

Thanks!!!!
 
Bạn chỉ cần dùng hàm sumpoduct là được
Mã:
=SUMPRODUCT(($A$2:$A$19=chu)*(MONTH($B$2:$B$19)=tháng))
 
Bạn chỉ cần dùng hàm sumpoduct là được
Mã:
=SUMPRODUCT(($A$2:$A$19=chu)*(MONTH($B$2:$B$19)=tháng))

Cám ơn bạn đã hướng dẫn.mình muốn hỏi là có công thức tính trực tiếp bao nhiêu chữ xuất hiện.Nghĩa là chỉ tính ra có bao nhiêu chữ khác nhau trong tháng thôi chứ k tính cụ thể mỗi chữ xuất hiện bao nhiêu lần trong từng tháng như cách bạn hướng dẫn.

Thanks!!!
 
Bạn chỉ cần dùng hàm sumpoduct là được
Mã:
 =SUMPRODUCT(($A$2:$A$19=chu)*(MONTH($B$2:$B$19)=tháng))

Cám ơn bạn đã hướng dẫn.mình muốn hỏi là có công thức tính trực tiếp bao nhiêu chữ xuất hiện.Nghĩa là chỉ tính ra có bao nhiêu chữ khác nhau trong tháng thôi chứ k tính cụ thể mỗi chữ xuất hiện bao nhiêu lần trong từng tháng như cách bạn hướng dẫn.

Thanks!!!
 
Cám ơn bạn đã hướng dẫn.mình muốn hỏi là có công thức tính trực tiếp bao nhiêu chữ xuất hiện.Nghĩa là chỉ tính ra có bao nhiêu chữ khác nhau trong tháng thôi chứ k tính cụ thể mỗi chữ xuất hiện bao nhiêu lần trong từng tháng như cách bạn hướng dẫn.

Thanks!!!
Sao bạn không đưa file lên cho dể hình dung? Thật ra là các chử ấy dính liền với ngày tháng hay nó nằm rời ra 1 ô khác
 
Bạn dùng Pivot Table để giải quyết nhé!
 
Tạm thời dùng cột phụ đã.
 
Status
Không mở trả lời sau này.

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

Back
Top Bottom