Tìm số đơn vị (từ 0 đến 9), sao cho khi đem số đơn vị đó ghép với số hàng chục cho trước tại A1 (số này biến đổi ngẫu nhiên bởi hàm Rand()), thì nó phải chia hết cho số chia C1 (số này biến đổi ngẫu nhiên bởi hàm Rand()). Liệt kê ra các số đơn vị đó từ B1:Bn.
Ô A1 là số hàng chục, B1 là số hàng đơn vị, C1 là số bị chia
Mình cần công thức hoặc code để điền vào ô A1 và B1. Để chia cho 1 số bất kỳ (từ 1 đến 9). Yêu cầu cần đặt ra là phép chia này có số dư = 0.
Ví dụ ô C1 = 2 thì ô A1 là số bất kỳ, ô B1 là các dãy số bất kỳ: 0, 2, 4, 6, 8
Ví dụ ô C1 = 3 thì 2 số ở ô A1 và B1 làm sao chia hết cho 3
Ví dụ ô C1 = 4 thì 2 số ở ô A1 và B1 làm sao chia hết cho 4
....
Ô A1 là số hàng chục, B1 là số hàng đơn vị, C1 là số bị chia
Mình cần công thức hoặc code để điền vào ô A1 và B1. Để chia cho 1 số bất kỳ (từ 1 đến 9). Yêu cầu cần đặt ra là phép chia này có số dư = 0.
Ví dụ ô C1 = 2 thì ô A1 là số bất kỳ, ô B1 là các dãy số bất kỳ: 0, 2, 4, 6, 8
Ví dụ ô C1 = 3 thì 2 số ở ô A1 và B1 làm sao chia hết cho 3
Ví dụ ô C1 = 4 thì 2 số ở ô A1 và B1 làm sao chia hết cho 4
....
Sub timso()
Dim sobichia, i, j, sochia
sochia = Range("C1")
Columns("A:B").Clear
For i = 1 To 100
sobichia = i * sochia
If sobichia > 99 Then Exit Sub
If sobichia < 10 Then
j = j + 1
Cells(j, 1) = sobichia
Else
j = j + 1
Cells(j, 1) = Left(sobichia, 1)
Cells(j, 2) = Right(sobichia, 1)
End If
Next
End Sub
Tức lấy 1 Mảng giá trị gồm: ROW($1:$10)-1 = {0;1;2;3;4;5;6;7;8;9}, đem cộng với A1*10:=> số hàng chục + đơn vị lần lượt từ 0->9 (Mảng giá trị cần tìm)
Sau đó đem Mảng đó tính MOD( 'Mảng giá trị cần tìm' , C1) xem có giá trị nào =0, tức không có số dư, tạo ra 1 Mảng 10 dòng chứa True và False, giá trị nào không có số dư là TRUE, ngược lại là FALSE.
Dựa trên TRUE hay FALSE mà nhặt ra các giá trị trong Mảng {0;1;2;3;4;5;6;7;8;9} phù hợp.
Hàm Aggregate(15,6,.......,Row(A1)) lấy ra giá trị nhỏ thứ 1 (khi ROW(A1)) nằm trong Mảng trên , hoặc thứ 2 (khi kéo công thức xuống thành ROW(A2)), và cứ tương tự như vậy cho các dòng dưới.
Tức lấy 1 Mảng giá trị gồm: ROW($1:$10)-1 = {0;1;2;3;4;5;6;7;8;9}, đem cộng với A1*10:=> số hàng chục + đơn vị lần lượt từ 0->9 (Mảng giá trị cần tìm)
Sau đó đem Mảng đó tính MOD( 'Mảng giá trị cần tìm' , C1) xem có giá trị nào =0, tức không có số dư, tạo ra 1 Mảng 10 dòng chứa True và False, giá trị nào không có số dư là TRUE, ngược lại là FALSE.
Dựa trên TRUE hay FALSE mà nhặt ra các giá trị trong Mảng {0;1;2;3;4;5;6;7;8;9} phù hợp.
Hàm Aggregate(15,6,.......,Row(A1)) lấy ra giá trị nhỏ thứ 1 (khi ROW(A1)) nằm trong Mảng trên , hoặc thứ 2 (khi kéo công thức xuống thành ROW(A2)), và cứ tương tự như vậy cho các dòng dưới.
Ô A1 là số hàng chục, B1 là số hàng đơn vị, C1 là số bị chia
Mình cần công thức hoặc code để điền vào ô A1 và B1. Để chia cho 1 số bất kỳ (từ 1 đến 9). Yêu cầu cần đặt ra là phép chia này có số dư = 0.
Ví dụ ô C1 = 2 thì ô A1 là số bất kỳ, ô B1 là các dãy số bất kỳ: 0, 2, 4, 6, 8
Ví dụ ô C1 = 3 thì 2 số ở ô A1 và B1 làm sao chia hết cho 3
Ví dụ ô C1 = 4 thì 2 số ở ô A1 và B1 làm sao chia hết cho 4
....
Bạn nên học cách ra yêu cầu cho người đọc dễ hiểu:
- Tìm số đơn vị (từ 0 đến 9), sao cho khi đem số đơn vị đó ghép với số hàng chục cho trước tại A1 (số này biến đổi ngẫu nhiên bởi hàm Rand()), thì nó phải chia hết cho số chia C1 (số này biến đổi ngẫu nhiên bởi hàm Rand()). Liệt kê ra các số đơn vị đó từ B1:Bn.
Thân.
Bạn nên học cách ra yêu cầu cho người đọc dễ hiểu:
- Tìm số đơn vị (từ 0 đến 9), sao cho khi đem số đơn vị đó ghép với số hàng chục cho trước tại A1 (số này biến đổi ngẫu nhiên bởi hàm Rand()), thì nó phải chia hết cho số chia C1 (số này biến đổi ngẫu nhiên bởi hàm Rand()). Liệt kê ra các số đơn vị đó từ B1:Bn.
Thân.