hngiatuong
CMC
- Tham gia
- 14/9/12
- Bài viết
- 312
- Được thích
- 68
- Nghề nghiệp
- VT
Chỗ điều kiện "B1<=-30 đến <-100" có lẽ phải sửa lại là -100<B1<=-30 chứ nhỉ? Tức là chỗ màu đỏ phải là > chứ?Em có 1 công thức tính giá trị tăng giảm, em đã tính được chiều tăng còn chiềugiảm thì chưa. Nhưng vấn đề là em muốn dùng công thức đang sử dụng. rất cảm ơn các anh chị quan tâm.
=LOOKUP(B1,{-99,-29,30,100,150,200,250},{-1,0,1,2,3,4,5})
*IF(B1>0,1,-1)
Hi, CT hay quá thầy!!!!Chỗ điều kiện "B1<=-30 đến <-100" có lẽ phải sửa lại là -100<B1<=-30 chứ nhỉ? Tức là chỗ màu đỏ phải là > chứ?
Tôi nghĩ là bạn nên dùng hàm LOOKUP sẽ dễ hơn:
Code:
=LOOKUP(B1,{-99,-29,30,100,150,200,250},{-1,0,1,2,3,4,5})
Vụ này thì xài hàm SIGN nó "oai" hơnnhân thêm cái này vào công thức của bạn:
Mã:*IF(B1>0,1,-1)

Chỗ điều kiện "B1<=-30 đến <-100" có lẽ phải sửa lại là -100<B1<=-30 chứ nhỉ? Tức là chỗ màu đỏ phải là > chứ?
Tôi nghĩ là bạn nên dùng hàm LOOKUP sẽ dễ hơn:
Mã:=LOOKUP(B1,{-99,-29,30,100,150,200,250},{-1,0,1,2,3,4,5})
Ý của em là: bình thường là như điều kiện trên em đã làm, nhưng nếu điều kiện là bị âm và trong khoảng điều kiện tương tự thì giá trị sẽ bị đổi dấu. Em đã thử nhưng chưa chính xác ạ. Làm phiền các anh.
Dạ vâng ạ: nếu như -30>=B1<-100 ạ. Cảm ơn ac
=((ABS(B1)>=30)+(ABS(B1)>=100)+(ABS(B1)>=150)+(ABS(B1)>=200)+(ABS(B1)>=250))*IF(B1>0,1,-1)
=((ABS(B1)>=30)+(ABS(B1)>=100)+(ABS(B1)>=150)+(ABS(B1)>=200)+(ABS(B1)>=250))*SIGN(B1)



Nếu tôi hiểu đúng thì phải là -100<B1<=-30 hay -30>=B1>-100 chứ đâu phải là -30>=B1<-100. Bạn làm tôi "bối rối" quá.Dạ vâng ạ: nếu như -30>=B1<-100 ạ. Cảm ơn ac
Vậy thì công thức ở bài #11 đáp ứng đúng yêu cầu của bạn rồi đấy.Nếu B1 >=+-30 đến <+-100 cộng +-1điểm
từ >=+-100 đến <+-150 cộng +-2 điểm
từ >=+-150 đến <+-200 cộng +-3 điểm
từ >=+-200 đến <+-250 cộng +-4 điểm
từ >=+-250 cộng +-5 điểm
Rất xin lỗi vì em muốn dùng công thức này
Nếu tôi hiểu đúng thì phải là -100<B1<=-30 hay -30>=B1>-100 chứ đâu phải là -30>=B1<-100. Bạn làm tôi "bối rối" quá.
Thế tóm lại hàm LOOKUP trên đã ổn chưa vậy bạn?
Dạ xin cảm ơn anh nghĩa phúc đã chỉ, cảm ơn Việt Khương - công thức chuẩn rồi. Xin được cảm ơn tất cả mọi người ạ. Chúc buổi tối vui vẻCông thức thế này:
Mã:=((ABS(B1)>=30)+(ABS(B1)>=100)+(ABS(B1)>=150)+(ABS(B1)>=200)+(ABS(B1)>=250))*IF(B1>0,1,-1)
Hoặc theo ý của anh công nhân "đào mỏ" thì thế này:
Mã:=((ABS(B1)>=30)+(ABS(B1)>=100)+(ABS(B1)>=150)+(ABS(B1)>=200)+(ABS(B1)>=250))*SIGN(B1)
![]()
Dù sao thì bạn cũng nên tham khảo thêm một cách không "dùng công thức này", biết đâu bạn lại suy nghĩ lại nhỉ (lỡ mang tiếng "đào mỏ" rồi nên "khai quật" thêm lần nữa luônNếu B1 >=+-30 đến <+-100 thì +-1điểm
từ >=+-100 đến <+-150 thì +-2 điểm
từ >=+-150 đến <+-200 thì +-3 điểm
từ >=+-200 đến <+-250 thì +-4 điểm
từ >=+-250 thì +-5 điểm
Rất xin lỗi vì em muốn dùng công thức này
):=SIGN(B1)*(MATCH(ABS(B1),{0,30,100,150,200,250},1)-1)
Dù sao thì bạn cũng nên tham khảo thêm một cách không "dùng công thức này", biết đâu bạn lại suy nghĩ lại nhỉ (lỡ mang tiếng "đào mỏ" rồi nên "khai quật" thêm lần nữa luôn):
Mã:=SIGN(B1)*(MATCH(ABS(B1),{0,30,100,150,200,250},1)-1)
Hóa ra ý tưởng của bạn là như vậy. Vậy thì xài công thức này, chẳng có một hàm nào cả:Dạ. Xin cảm ơn anh đã giúp. Thực ra em đang cố hiểu thêm về cách không vận dùng hàm trực tiếp. Em rất thích kiểu dạng như vậy, rất mong anh thông cảm.
=((B1>=30)+(B1>=100)+(B1>=150)+(B1>=200)+(B1>=250))-((B1<=-30)+(B1<=-100)+(B1<=-150)+(B1<=-200)+(B1<=-250))




=SUMPRODUCT(SIGN(B1)*(ABS(B1)>={30,100,150,200,250}))