Xin giúp đỡ lập công thức có điều kiện

Liên hệ QC

tranngocy

Thành viên mới
Tham gia
25/12/06
Bài viết
11
Được thích
0
xin chào
mình có 1 vấn đề không tìm lời giải cần giúp về hàm trong excel
ví dụ: IF(A1=8,"G","KH")
NẾU A1=8 THÌ HÀM IF CHO KẾT QUẢ LÀ "G",NẾU A1<>8 CHO KQ LÀ "KH"
KQ ĐÚNG LÀ NHƯ THẾ
NHƯNG MÌNH MUỐN A1=8 HÀM IF LẠI CHO KQ LÀ "TB" THÌ PHẢI LÀM SAO?
Ý MÌNH LÀ LÀM THẾ NÀO ĐỂ HÀM IF(A1=8,"G","KH") CHO KQ SAI
MONG ĐƯỢC GIÚP
 
Bạn phải bổ sung thêm điều kiện nữa, hai cái cùng đúng thì máy tính biết chọn cái nào???

Theo tôi, bạn phải dùng thêm cả hàm AND hoặc OR nữa
 
xin chào
Mình đang dạy kèm tin học excel cho 1 hs lớp 11 cậu học trò thông minh
và hay thắc mắc muốn kiểm tra kiến thức cô giáo mà
if(a1=8,"g","kh") cú pháp hoàn toàn đúng ,khi a1=8 thì cho kq "g"
học trò mình hỏi
em muốn viết hàm if(a1=8,"g","kh") như vậy nhưng ở ô a1 khi nhập giá trị là 8
thì hàm if lại cho kq là "tb" (không phải "g")
mình chưa tìm được câu trả lời,nếu không trả lời thì quê với học trò quá
xin bạn giúp dùm nha
cám ơn
 
tranngocy đã viết:

XIN CHÀO
Mình đang dạy kèm tin học excel cho 1 hs lớp 11 cậu học trò thông minh

và hay thắc mắc muốn kiểm tra kiến thức cô giáo mà
if(a1=8,"g","kh") cú pháp hoàn toàn đúng ,khi a1=8 thì cho kq "g"
học trò mình hỏi
em muốn viết hàm if(a1=8,"g","kh") như vậy nhưng ở ô a1 khi nhập giá trị là 8
thì hàm if lại cho kq là "tb" (không phải "g")
mình chưa tìm được câu trả lời,nếu không trả lời thì quê với học trò quá
xin bạn giúp dùm nha

1/ Bạn vi phạm nội quy đấy nhé.
2/ Nếu 8 điểm mà trung bình à ????
 
hàm if

Thien đã viết:
tranngocy đã viết:

XIN CHÀO
Mình đang dạy kèm tin học excel cho 1 hs lớp 11 cậu học trò thông minh

và hay thắc mắc muốn kiểm tra kiến thức cô giáo mà
if(a1=8,"g","kh") cú pháp hoàn toàn đúng ,khi a1=8 thì cho kq "g"
học trò mình hỏi
em muốn viết hàm if(a1=8,"g","kh") như vậy nhưng ở ô a1 khi nhập giá trị là 8
thì hàm if lại cho kq là "tb" (không phải "g")
mình chưa tìm được câu trả lời,nếu không trả lời thì quê với học trò quá
xin bạn giúp dùm nha

1/ Bạn vi phạm nội quy đấy nhé.
2/ Nếu 8 điểm mà trung bình à ????
Bạn chưa hiểu câu hỏi
a1=8 thì kq là "g" theo hàm if(a1=8,"g","kh") nhưng mình muốn kq là "tb"
thì làm sao? vào Macro và chọn macros chọn visual basic viết 1 đoạn code phải không
viết như thế nào? bạn chỉ dùm
 
Mình hiểu như thế này không biết có đúng ý bạn không?
Bạn nhấn Insert/ Name/ Define --> xuất hiện hộp thoại Define Name
Trong Names in workbook bạn gõ chữ g
Trong Refers to bạn gõ ="TB" (cả dấu nháy nữa nhé!)
Nhấn Add trước khi nhấn Close để đóng hộp thoại
Tại ô bất kỳ bạn gõ công thức:
Mã:
=IF(A1=8,g,"Kh")
---> Bây giờ nếu ô A1 = 8 thì sẽ cho kết quả là TB
 
Lần chỉnh sửa cuối:
reply nvson về hàm if

nvson đã viết:
Mình hiểu như thế này không biết có đúng ý bạn không?
Bạn nhấn Insert/ Name/ Define --> xuất hiện hộp thoại Define Name
Trong Names in workbook bạn gõ chữ g
Trong Refers to bạn gõ ="TB" (cả dấu nháy nữa nhé!)
Nhấn Add trước khi nhấn Close để đóng hộp thoại
Tại ô bất kỳ bạn gõ công thức:
Mã:
=IF(A1=8,g,"Kh")
---> Bây giờ nếu ô A1 = 8 thì sẽ cho kết quả là TB

chưa đúng ý mình
if(bthức đkiện,true,false)
đkiện đúng cho giá trị true
đkiện sai cho giá trị fasle
ý mình muốn là với hàm if(bthứcđkiện,true,false)
đkiện đúng cho giá trị false
đkiện sai cho giá trị true
giúp nha MY FRIEND
THANK
 
Em có ý kiến

Em có ý kiến thế này
Chúng ta sẽ thực hiện đánh lừa người xem
bình thường ta sẽ cho giá trị của ô đó là "TB"
Khi người xem kích chuột để kiểm tra công thức ta gán ngược hàm cho ô đó để họ thấy hàm
sau khi họ dời chuột đi ta lại gán lại giá trị "TB"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell = Cells(2, 2) Then
ActiveCell.FormulaR1C1 = "=IF(r1c1=8,""G"",""KH"")"

//Chỗ này em cần 1 method của thằng activecell để bật chế độ sửa chữa công thức bác nào biết thì bảo em với nhé
Else
Cells(2, 2) = "TB"
End If
End Sub

Chì là mẹo để đánh lừa người xem thôi
 
tranngocy đã viết:
xin chào
mình có 1 vấn đề không tìm lời giải cần giúp về hàm trong excel
ví dụ: IF(A1=8,"G","KH")
NẾU A1=8 THÌ HÀM IF CHO KẾT QUẢ LÀ "G",NẾU A1<>8 CHO KQ LÀ "KH"
KQ ĐÚNG LÀ NHƯ THẾ
NHƯNG MÌNH MUỐN A1=8 HÀM IF LẠI CHO KQ LÀ "TB" THÌ PHẢI LÀM SAO?
Ý MÌNH LÀ LÀM THẾ NÀO ĐỂ HÀM IF(A1=8,"G","KH") CHO KQ SAI
MONG ĐƯỢC GIÚP

IF(A1=8,"G","KH")
Nếu theo cách xử lý của hàm IF thì kết quả chỉ nhận một trong 2 giá trị "G","KH" mà thôi, không thể nào khác được!

Nếu cố tình cho khác thì phải thêm một hàm INDIRECT(...)
=INDIRECT(IF(A1=8,"G1","KH1"))
Tại ô G1 bạn gõ giá trị là "TB"

Nếu chưa đúng ý bạn thì có lẽ chúng ta phải có cách giải thích cho cậu bé này hiểu về LOGIC thôi.
 
reply Tuanvnuni

TuanVNUNI đã viết:
IF(A1=8,"G","KH")
Nếu theo cách xử lý của hàm IF thì kết quả chỉ nhận một trong 2 giá trị "G","KH" mà thôi, không thể nào khác được!

Nếu cố tình cho khác thì phải thêm một hàm INDIRECT(...)
=INDIRECT(IF(A1=8,"G1","KH1"))
Tại ô G1 bạn gõ giá trị là "TB"

Nếu chưa đúng ý bạn thì có lẽ chúng ta phải có cách giải thích cho cậu bé này hiểu về LOGIC thôi.

XIN CHÀO
THEO LOGIC THÌ NHƯ VẬY KHÔNG GÌ PHẢI BÀN
THEO Ý MÌNH LÀ HÀM TRONG EXCEL CỦNG ĐƯỢC LẬP TRÌNH MÀ CÓ
VẬY CÓ CÁCH LÀM THAY ĐỔI ĐƯỢC CHỨ
VẤN ĐỀ LÀ THẤY ĐƯỢC CHỖ SAI ĐỂ SỬA
XEM CODE CỦA FUNTION TRONG EXCEL NHƯ THẾ NÀO?
ĐỂ THAY KQ TRONG HÀM IF

 
Reply Nvson

nvson đã viết:
Mình hiểu như thế này không biết có đúng ý bạn không?
Bạn nhấn Insert/ Name/ Define --> xuất hiện hộp thoại Define Name
Trong Names in workbook bạn gõ chữ g
Trong Refers to bạn gõ ="TB" (cả dấu nháy nữa nhé!)
Nhấn Add trước khi nhấn Close để đóng hộp thoại
Tại ô bất kỳ bạn gõ công thức:
Mã:
=IF(A1=8,g,"Kh")
---> Bây giờ nếu ô A1 = 8 thì sẽ cho kết quả là TB

XIN CHÀO
GẦN ĐÚNG Ý MÌNH NHƯNG TRONG CÁCH LÀM BẠN CHỈ THÌ BẠN CÓ THAY
ĐỔI CÚ PHÁP TRONG HÀM IF(A1=8,G,"KH") THIẾU DẤU " "
RẤT DỂ BỊ PHÁT HIỆN
MÌNH MUỐN GIỮA NGUYÊN CÚ PHÁP IF(A1=8,"G","KH") NHƯNG LẠI CHO KẾT QUẢ LÀ TB
 
Reply Ruadangyeu

ruadangyeu đã viết:
Em có ý kiến thế này
Chúng ta sẽ thực hiện đánh lừa người xem
bình thường ta sẽ cho giá trị của ô đó là "TB"
Khi người xem kích chuột để kiểm tra công thức ta gán ngược hàm cho ô đó để họ thấy hàm
sau khi họ dời chuột đi ta lại gán lại giá trị "TB"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell = Cells(2, 2) Then
ActiveCell.FormulaR1C1 = "=IF(r1c1=8,""G"",""KH"")"

//Chỗ này em cần 1 method của thằng activecell để bật chế độ sửa chữa công thức bác nào biết thì bảo em với nhé
Else
Cells(2, 2) = "TB"
End If
End Sub

Chì là mẹo để đánh lừa người xem thôi[/quot

KHÔNG PHẢI NHƯ CÁCH BẠN CHỈ
MÌNH MUỐN NGƯỜI XEM VẪN THẤY CÔNG THỨC IF(A1=8,"G","KH") KHÔNG
THAY ĐỔI CÚ PHÁP,NHƯNG LẠI CHO KQ SAI THAY VÌ ĐÚNG LÀ "G"
CÓ CÁCH NÀO BẠN CHỈ DÙM
HS MÌNH LÀM ĐƯỢC MÀ NHƯNG MÌNH KHÔNG BIẾT CÁCH SỬA
CÁM ƠN
 
REPLY secret_grasses

Secret_grasses đã viết:
Mục đích của bạn làm như vậy để làm gì?!. Bạn nói rõ hơn ý định của bạn và up file lên nha.
IF(A1=8,"G","KH")
TỪ TRƯỚC TỚI GIỜ CHÚNG TA CHỈ CHÚ Ý TỚI CHIỀU THUẬN ĐÚNG LOGIC
A1=8 THÌ KQ LÀ G,A1<>8 THÌ KQ LÀ KH
LÀM THẾ NÀO ĐỂ THAY ĐỔI LOGIC ĐÓ
A1=8 THÌ KQ KHÔNG LÀ G MÀ LÀ 1 GIÁ TRỊ KHÁC (VỚI CÚ PHÁP NHƯ VẬY NHƯNG HÀM IF LẠI CHO KQ KHÁC)
SỬA HÀM IF NHƯ THẾ NÀO? VÀO ĐÂU ĐỂ SỬA?CẦN CÓ KIẾN THỨC GÌ ĐỂ LÀM VIỆC ĐÓ?
HIỂU ĐƯỢC NHƯ VẬY THÌ NẾU CÓ TRƯỜNG HỢP ĐÓ,MÌNH BIẾT CÁCH SỬA
LẠI HÀM SAI
MONG BẠN GIÚP CHO
HS MÌNH CHO MÌNH THẤY RÕ MÀ IF(A1=8,"G","KH")
NHẬP A1=8 LẠI CHO KQ KHÔNG PHẢI LÀ G MÀ CHO KQ LÀ TB HAY 1,2,3...
 
Bạn hãy viết một hàm tự tạo kiểu _IF(. . .; . . .;. . . .)

Sao sau đó nhờ Ông BG gởi lên cho!
 
tranngocy đã viết:
IF(A1=8,"G","KH")
TỪ TRƯỚC TỚI GIỜ CHÚNG TA CHỈ CHÚ Ý TỚI CHIỀU THUẬN ĐÚNG LOGIC
A1=8 THÌ KQ LÀ G,A1<>8 THÌ KQ LÀ KH
LÀM THẾ NÀO ĐỂ THAY ĐỔI LOGIC ĐÓ
A1=8 THÌ KQ KHÔNG LÀ G MÀ LÀ 1 GIÁ TRỊ KHÁC (VỚI CÚ PHÁP NHƯ VẬY NHƯNG HÀM IF LẠI CHO KQ KHÁC)
SỬA HÀM IF NHƯ THẾ NÀO? VÀO ĐÂU ĐỂ SỬA?CẦN CÓ KIẾN THỨC GÌ ĐỂ LÀM VIỆC ĐÓ?
HIỂU ĐƯỢC NHƯ VẬY THÌ NẾU CÓ TRƯỜNG HỢP ĐÓ,MÌNH BIẾT CÁCH SỬA
LẠI HÀM SAI
MONG BẠN GIÚP CHO
HS MÌNH CHO MÌNH THẤY RÕ MÀ IF(A1=8,"G","KH")
NHẬP A1=8 LẠI CHO KQ KHÔNG PHẢI LÀ G MÀ CHO KQ LÀ TB HAY 1,2,3...
Quả thực mình thấy bạn rắc rối (trong suy nghĩ) quá.
Tại sao lại phải thay đổi logic cơ chứ, logic là nền tảng của tin học, sao lại thay đổi.

Như Anh Tuân đã nói, hàm if là như vậy, điều kiện, tham chiếu ... khai báo như vậy thì làm sao mà khác được. Trong Excel đã qui định ở hàm if, khi có dấu "" thì có nghĩa đó là text

Cả ba giải pháp đánh lừa người xem (Dùng VBA thay ô đó = TB; Đặt name TB, dùng indirect) đều không được bạn chấp nhận, quả thực để hiểu ý bạn thật không dễ. Nếu bạn có file đó thì up lên cho mọi người coi thử.

Còn để sửa hàm của bác Bill thì mình nghĩ là với trình độ của chúng ta thì đừng có mơ đến. Ngay việc viết lời giới thiệu cho hàm tự tạo của mình để nó chạy vào hộp Function của bác Bill (như các hàm của Bác ấy) thì từ xưa đến nay mình vẫn chưa thấy ai cả.
Thân !
 
Lần chỉnh sửa cuối:
reply Mrhieu

MrHieu đã viết:
Quả thực mình thấy bạn rắc rối (trong suy nghĩ) quá.
Tại sao lại phải thay đổi logic cơ chứ, logic là nền tảng của tin học, sao lại thay đổi.

Như Anh Tuân đã nói, hàm if là như vậy, điều kiện, tham chiếu ... khai báo như vậy thì làm sao mà khác được. Trong Excel đã qui định ở hàm if, khi có dấu "" thì có nghĩa đó là text

Cả ba giải pháp đánh lừa người xem (Dùng VBA thay ô đó = TB; Đặt name TB, dùng indirect) đều không được bạn chấp nhận, quả thực để hiểu ý bạn thật không dễ. Nếu bạn có file đó thì up lên cho mọi người coi thử.

Còn để sửa hàm của bác Bill thì mình nghĩ là với trình độ của chúng ta thì đừng có mơ đến. Ngay việc viết lời giới thiệu cho hàm tự tạo của mình để nó chạy vào hộp Function của bác Bill (như các hàm của Bác ấy) thì từ xưa đến nay mình vẫn chưa thấy ai cả.
Thân !

sao dể thua quá vậy bạn hãy tiếp tục suy nghĩ,đừng quá phụ thuộc vào ý tưởng của ông Bill
 
reply ruadangyeu

tranngocy đã viết:
ruadangyeu đã viết:
Em có ý kiến thế này
Chúng ta sẽ thực hiện đánh lừa người xem
bình thường ta sẽ cho giá trị của ô đó là "TB"
Khi người xem kích chuột để kiểm tra công thức ta gán ngược hàm cho ô đó để họ thấy hàm
sau khi họ dời chuột đi ta lại gán lại giá trị "TB"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell = Cells(2, 2) Then
ActiveCell.FormulaR1C1 = "=IF(r1c1=8,""G"",""KH"")"

//Chỗ này em cần 1 method của thằng activecell để bật chế độ sửa chữa công thức bác nào biết thì bảo em với nhé
Else
Cells(2, 2) = "TB"
End If
End Sub

Chì là mẹo để đánh lừa người xem thôi[/quot

KHÔNG PHẢI NHƯ CÁCH BẠN CHỈ
MÌNH MUỐN NGƯỜI XEM VẪN THẤY CÔNG THỨC IF(A1=8,"G","KH") KHÔNG
THAY ĐỔI CÚ PHÁP,NHƯNG LẠI CHO KQ SAI THAY VÌ ĐÚNG LÀ "G"
CÓ CÁCH NÀO BẠN CHỈ DÙM
HS MÌNH LÀM ĐƯỢC MÀ NHƯNG MÌNH KHÔNG BIẾT CÁCH SỬA
CÁM ƠN

cám ơn bạn đã trả lời
nhưng cách bạn chỉ có vẽ chưa đầy đủ còn method của active nửa bạn ơi
hãy cho mình 1 chương trình VB đầy đủ
viết nó ở đâu trong excel vào VB editor trong macro phải không
nhớ giúp bạn nhé
 
Web KT
Back
Top Bottom