Trả về giá trị theo điều kiện

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

anktdn

Thành viên chính thức
Tham gia
18/6/06
Bài viết
72
Được thích
77
Nghề nghiệp
acc
Em có 1 cột gồm nhiều giá trị nhưng sẽ trả về giá trị làm tròn theo hàng ngàn nhờ các Pác giúp đỡ.
Điều kiện : nếu từ 0-2 sẽ trả về giá trị 120.000, 3-7 trả về 125.000, từ 8 trở lên trả về 130.000.
Công thức sẽ đúng trong mọi trường hợp nếu thay đổi giá trị, theo điều kiện trên.

Ví dụ :

Cột A
120.000
121.233
122.145
Tất cả trả về 120.000

123.000
123.125
124.002
125.000
126.000
127.000
Tất cả trả về giá trị 125.000
128.000
129.000
130.000
--> Tất cả trả về 130.000
 

File đính kèm

Em có 1 cột gồm nhiều giá trị nhưng sẽ trả về giá trị làm tròn theo hàng ngàn nhờ các Pác giúp đỡ.
Điều kiện : nếu từ 0-2 sẽ trả về giá trị 120.000, 3-7 trả về 125.000, từ 8 trở lên trả về 130.000.
Công thức sẽ đúng trong mọi trường hợp nếu thay đổi giá trị, theo điều kiện trên.

Ví dụ :

Cột A
120.000
121.233
122.145
Tất cả trả về 120.000

123.000
123.125
124.002
125.000
126.000
127.000
Tất cả trả về giá trị 125.000
128.000
129.000
130.000
--> Tất cả trả về 130.000

Bạn nói chưa rõ:
Ví dụ:
1.245.000 bạn muốn chuyển thành bao nhiêu!

Hay nói cách khác, bạn muốn lấy giá trị thứ mấy trong chuỗi số làm điều kiện!
 
Điều kiện hàng ngàn như đã nói ở trên.các Pác xem giúp.
Giá trị 1.245.000 sẽ chuyển thành 1.245.000, 1.246.000 cũng chuyển thành 1245.000.
1.248.000 chuyển thành 1.250.000.
 
Lần chỉnh sửa cuối:
Thử dùng công thức này xem:
Mã:
E4 =D4-MOD(INT(D4/1000),10)*1000+1000*CHOOSE(MOD(INT(D4/1000),10)+1,0,0,0,5,5,5,5,5,10,10)
 
Bạn xem thử công thức này (và xem file đính kèm:
=IF(VALUE(RIGHT(ROUND(D4/1000,0),1))=0,ROUNDDOWN(D4,-4),CHOOSE(VALUE(RIGHT(ROUND(D4/1000,0),1)),ROUNDDOWN(D4,-4),ROUNDDOWN(D4,-4),ROUNDDOWN(D4,-4)+5000,ROUNDDOWN(D4,-4)+5000,ROUNDDOWN(D4,-4)+5000,ROUNDDOWN(D4,-4)+5000,ROUNDDOWN(D4,-4)+5000,ROUNDDOWN(D4,-4)+10000,ROUNDDOWN(D4,-4)+10000))

Thử dùng công thức này xem:
Mã:
E4 =D4-MOD(INT(D4/1000),10)*1000+1000*CHOOSE(MOD(INT(D4/1000),10)+1,0,0,0,5,5,5,5,5,10,10)

Anh xem lại công thức xem, nếu em cho số 1.234.567 thì công thức lại không thỏa điều kiện đề bài!
 

File đính kèm

File đính kèm

Lần chỉnh sửa cuối:
Theo em thì ta chỉ làm theo yêu cầu của bài, đó là chỉ làm cho số có giá trị khoảng 120.000->130.000 , còn nếu muốn tổng quát thì phải đặt lại câu hỏi cho phù hợp hơn.
mình gửi một cách khác đơn giản hơn :
PHP:
=IF(MID(D4,2,2)*1<23,120000,IF(MID(D4,2,2)*1<28,125000,130000))
 
Công thức này:
=ROUNDDOWN($D4,-4)+1000*CHOOSE(VALUE(RIGHT(ROUND($D4/1000,0),1))+1 ,0,0,0,5,5,5,5,5,10,10)
Bỏ luôn Value cũng được!
Vì thông thường khi ta convert từ TEXT sang NUMBER ta hay dùng Value hoặc nhân chúng với 1 cho chắc, nhưng với công thức trên thì không cần:
RIGHT(ROUND($D4/1000,0),1)+1 đã làm nhiệm vụ convert luôn rồi:
=ROUNDDOWN($D4,-4)+1000*CHOOSE(RIGHT(ROUND($D4/1000,0),1)+1 ,0,0,0,5,5,5,5,5,10,10)
 
Web KT

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

Back
Top Bottom