Biến số tăng dần thành mảng tăng dần?

Liên hệ QC

Po_Pikachu

Po_pikachu@ymail.com
Tham gia
29/4/08
Bài viết
2,209
Được thích
3,572
Nghề nghiệp
#VALUE!
Cái này em cũng chẳng biết viết tiêu đề thế nào cả. Nếu có ý kiến nào hay hơn, mong cách bác chỉnh lại tiêu đề giúp em luôn, cảm ơn các bác nhiều. Vấn đề là vầy. Em có 1 ô A1 đặt cho số chạy từ 0 đến 50 (chạy vòng). Có 1 mảng dữ liệu ở A11:J15 làm sao để số ở A1 ra thì chỉ ra được hàng cột ở ô (Hàng-Cột). Và tự ô (Hàng-Cột) đó chỉ ra chính sát địa chỉ dữ liệu ở ô (Địa Chỉ). Các bác xem file rồi cho em xin vài công thức nha! Yêu cầu là càng ngắn càng tốt! Em cũng đã làm được nhưng chưa ưng ý, mong được sự giúp đở của mọi người. File: http://www.mediafire.com/?gadjt2tttyg Xin cảm ơn.
 
Lần chỉnh sửa cuối:
Cái này em cũng chẳng biết viết tiêu đề thế nào cả. Nếu có ý kiến nào hay hơn, mong cách bác chỉnh lại tiêu đề giúp em luôn, cảm ơn các bác nhiều.

Vấn đề là vầy. Em có 1 ô A1 đặt cho số chạy từ 0 đến 50 (chạy vòng).
Có 1 mảng dữ liệu ở A11:J15 làm sao để số ở A1 ra thì chỉ ra được hàng cột ở ô (Hàng-Cột). Và tự ô (Hàng-Cột) đó chỉ ra chính sát địa chỉ dữ liệu ở ô (Địa Chỉ).
Các bác xem file rồi cho em xin vài công thức nha!
Yêu cầu là càng ngắn càng tốt!
Em cũng đã làm được nhưng chưa ưng ý, mong được sự giúp đở của mọi người.

File: http://www.mediafire.com/?gadjt2tttyg
Xin cảm ơn.


mảng dữ liệu ở A11:J15 ==> phải có số hàng / số cột chứ, sao lại chỉ có 1 số?
Nếu biết hàng cột ==> chỉ ra được địa chỉ cell ngay
.
 
Cái này em cũng chẳng biết viết tiêu đề thế nào cả. Nếu có ý kiến nào hay hơn, mong cách bác chỉnh lại tiêu đề giúp em luôn, cảm ơn các bác nhiều.

Vấn đề là vầy. Em có 1 ô A1 đặt cho số chạy từ 0 đến 50 (chạy vòng).
Có 1 mảng dữ liệu ở A11:J15 làm sao để số ở A1 ra thì chỉ ra được hàng cột ở ô (Hàng-Cột). Và tự ô (Hàng-Cột) đó chỉ ra chính sát địa chỉ dữ liệu ở ô (Địa Chỉ).
Các bác xem file rồi cho em xin vài công thức nha!
Yêu cầu là càng ngắn càng tốt!
Em cũng đã làm được nhưng chưa ưng ý, mong được sự giúp đở của mọi người.

File: http://www.mediafire.com/?gadjt2tttyg
Xin cảm ơn.
Cho hỏi lại:
- Bãng A11:J15 tổng cộng có 50 cells... vậy tại A1 số chạy phải từ 1 --> 50 hoặc 0 ---> 49 chứ
Sao lại
Em có 1 ô A1 đặt cho số chạy từ 0 đến 50 (chạy vòng).
Còn nữa:
- Bạn muốn làm bài toán này bằng công thức hay VBA
- Kết quả thu được mà bạn muốn là giá trị trong cell tìm được hay địa chỉ cell
 
Lần chỉnh sửa cuối:
Cho hỏi lại:
- Bãng A11:J15 tổng cộng có 50 cells... vậy tại A1 số chạy phải từ 1 --> 50 hoặc 0 ---> 49 chứ
Sao lại

Còn nữa:
- Bạn muốn làm bài toán này bằng công thức hay VBA
- Kết quả thu được mà bạn muốn là giá trị trong cell tìm được hay địa chỉ cell
Ô

Và nữa

thường cái này không khó, nếu có các thông số

+ tổng số hàng , số cột của bảng đó (A :J )
+ Địa chỉ ô bắt đầu
+ thứ tự giá trị cần tìm (ô thứ mấy) và cách tính từ tự trái-phải-trên-xuống hay ngược lại??

nếu các thông số đó đầy đủ thì chuyện tính còn lại là nhỏ
.
 
Dùng A1 làm thông số chung để chọn được nhiều vùng. Nếu không được thì có thể dùng cách khác cũng được. Nhưng em cần là công thức rút gọn cho ô Hàng-Cột. Dùng công thức đi. Nếu bí thì dùng VBA cũng không sao. Lấy địa chỉ Cell. Em có đặt ví dụ trong file rồi đó. Thân.
 
Lần chỉnh sửa cuối:
Dùng A1 làm thông số chung để chọn được nhiều vùng.
Nếu không được thì có thể dùng cách khác cũng được. Nhưng em cần là công thức rút gọn cho ô Hàng-Cột.
Dùng công thức đi. Nếu bí thì dùng VBA cũng không sao.
Lấy địa chỉ Cell.
Em có đặt ví dụ trong file rồi đó.
Thân.
Thì công thức thường vẩn được mà:
1> Đặt name cho Data
2> Công thức vị trí dòng
3> Công thức vị trí cột
Tổng hợp lại:
1> Giá trị cần tìm chính là
=INDEX(Data,MOD(($A$1-1),ROWS(Data))+1,INT(($A$1-1)/ROWS(Data))+1)
2> Địa chỉ cell:
=ADDRESS(MOD(($A$1-1),ROWS(Data))+MIN(ROW(Data)),INT(($A$1-1)/ROWS(Data))+MIN(COLUMN(Data)))
Chú ý:
- Công thức này tính A1 từ 1 --> 50 nha
- Đặt name cho VT dòng và cột thì công thức sẽ gọn hơn
 

File đính kèm

Dùng A1 làm thông số chung để chọn được nhiều vùng.
Nếu không được thì có thể dùng cách khác cũng được. Nhưng em cần là công thức rút gọn cho ô Hàng-Cột.
Dùng công thức đi. Nếu bí thì dùng VBA cũng không sao.
Lấy địa chỉ Cell.
Em có đặt ví dụ trong file rồi đó.
Thân.

Ví dụ loằng ngoằng lắm

Sao không trả lời các câu hỏi

Có các thông số
+ tổng số hàng , số cột của bảng đó (A :J )
+ Địa chỉ ô bắt đầu
+ thứ tự giá trị cần tìm (ô thứ mấy) và cách tính từ tự trái-phải-trên-xuống hay ngược lại??
 
Thì công thức thường vẩn được mà:
1> Đặt name cho Data

2> Công thức vị trí dòng

3> Công thức vị trí cột

Tổng hợp lại:
1> Giá trị cần tìm chính là

2> Địa chỉ cell:

Chú ý:
- Công thức này tính A1 từ 1 --> 50 nha
- Đặt name cho VT dòng và cột thì công thức sẽ gọn hơn


Sao loằng ngoằng thế a,

coi như bản có 5 hàng 10 cột đi,
khỏi phải đặt tên và tìm ROWS COLUMNS làm gì
a đang phức tạp vấn đề,

chắc không phức tạp thế
 
Em hiểu ý bác nhưng vấn đề là em cần làm vậy mới chết chứ! Em cũng biết dùng hàm mảng để rút ra dữ liệu, có thể dùng VBA sẽ nhanh hơn. Nhưng có người lại thích thế mới khổ chứ. Em nghĩ chắc công thức như vậy là ngắn nhất rồi nhỉ? Chủ yếu là họ muốn quản lý thông số của mình thôi. Đành chịu! Theo ý họ vậy. Thân. Cảm ơn các bác nha!.
 
Lần chỉnh sửa cuối:
Sao loằng ngoằng thế a,

coi như bản có 5 hàng 10 cột đi,
khỏi phải đặt tên và tìm ROWS COLUMNS làm gì
a đang phức tạp vấn đề,

chắc không phức tạp thế
Lý do là số người ta gõ tại A1 bao hàm cả vị trí dòng và cột!
Là thế này đây:
- Nếu đếm các cell trong bảng theo trật tự từ trên xuống rồi từ trái sang phải thì:
1 <==> Range(1,1)
2 <==> Range(2,1)
3 <==> Range(3,1)
....
49 <==> Range(4,10)
50 <==> Range(5,10)

Tigertiger hiểu rồi chứ ---> Vì lẽ đó phải CONVERT số tại A1 ra Row_IndexCol_Index trước
 
Đơn giản thế này thôi:

Lý do là số người ta gõ tại A1 bao hàm cả vị trí dòng và cột!
Là thế này đây:
- Nếu đếm các cell trong bảng theo trật tự từ trên xuống rồi từ trái sang phải thì:
1 <==> Range(1,1)
2 <==> Range(2,1)
3 <==> Range(3,1)
....
49 <==> Range(4,10)
50 <==> Range(5,10)

Tigertiger hiểu rồi chứ ---> Vì lẽ đó phải CONVERT số tại A1 ra Row_IndexCol_Index trước

Không loằng ngoăng thế , a xem nhé

Em hiểu ý bác nhưng vấn đề là em cần làm vậy mới chết chứ!
Em cũng biết dùng hàm mảng để rút ra dữ liệu, có thể dùng VBA sẽ nhanh hơn. Nhưng có người lại thích thế mới khổ chứ.
Em nghĩ chắc công thức như vậy là ngắn nhất rồi nhỉ? Chủ yếu là họ muốn quản lý thông số của mình thôi.
Đành chịu! Theo ý họ vậy.
Thân.
Cảm ơn các bác nha!.

Đơn giản thế này thôi:

Cột tại E4:
=INT(($A$1-1)/5)+1

(5 ở đây là số hàng của bảng - nếu cần thay đổi có thể đặt vào một ô)

Hàng tại D4:
=$A$1-5*(E4-1)

Địa chỉ cell G4:
=ADDRESS(ROW($A$11)-1+D4,COLUMN($A$11)-1+E4,4)

Thế là xong
 
Lần chỉnh sửa cuối:
Lần chỉnh sửa cuối:
Em muốn tìm xem có cách nào rút gọn được công thức ở Hàng-Cột không?



Và công thức như thế này còn gọn hơn của bác ndu96081631 nữa!
Thân.
Này nhé:
- Dử liệu đầu vào bạn đang có là Bảng dử liệu và giá trị tại A1
- Vậy phải bám vào 2 dử liệu vào này --> Sao công thức lại có số 5 ???
Lở dử liệu không phải 5 dòng, 10 cột (hoặc dử liệu biến đổi liên tục) chẳng lẽ bạn phải sửa công thức hoài hay sao?
 
Cảm ơn bác tigertiger nhiều. Đúng ý em cần rồi! Chân thành cảm ơn các bác giúp đở nha! Chúc 1 ngày vui vẻ. Thân.
 
Lần chỉnh sửa cuối:
À vấn đề này em chưa nghỉ tới, vì nó cứ luôn 5 hàng 10 cột thôi! Nếu vậy cảm ơn bác lần nữa nha! Sorry. Thân.
 
Lần chỉnh sửa cuối:
Này nhé:
- Dử liệu đầu vào bạn đang có là Bảng dử liệu và giá trị tại A1
- Vậy phải bám vào 2 dử liệu vào này --> Sao công thức lại có số 5 ???
Lở dử liệu không phải 5 dòng, 10 cột (hoặc dử liệu biến đổi liên tục) chẳng lẽ bạn phải sửa công thức hoài hay sao?


Oh, thế thì đặt tên còn khổ hơn

Đặc thù thế,

Công thức của em chỉ cần số hàng thui - tức số 5 đó, số cột thì không cần
 
Oh, thế thì đặt tên còn khổ hơn

Đặc thù thế,

Công thức của em chỉ cần số hàng thui - tức số 5 đó, số cột thì không cần
Thì công thức của tôi cũng vậy! Nằm ở chổ ROWS(Data) ấy
Cho dù Data nằm ở đâu, và bao nhiêu dòng thì cái này vẩn tổng quát
 
Ah... Ah... bây giờ tôi mới hiểu vấn đề của bạn nằm ở đâu rồi (không phải là bạn làm không ra)
Vấn đề nằm ở chổ: Nếu dùng MOD với cell A1 thì kết quả thu được là 0, 1, 2, 3, 4... trong khi cái bạn cần là kết quả 5, 1, 2, 3, 4 (vì thế mà bạn phải IF)
Ẹc... Ẹc...
Vậy thuật toán chủ yếu nhất trong các cách giãi vẩn là MOD(A1 - 1, ...) ---> Ra kết quả ---> cộng thêm 1 vào
Có 1 bài toán tương tự (lâu lắm rồi):
- WEEKDAY(Ngay) cho kết quả từ 1 đến 7
- Người ta muốn CONVERT kiểu nào đó sao cho:
Thứ tư biến thành Thứ 2
Thứ năm biến thành Thứ 3
.....
CN biến thành Thứ 6
vân vân...
Thử xem có phải là giống nhau về cơ bản không?
 
Ah... Ah... bây giờ tôi mới hiểu vấn đề của bạn nằm ở đâu rồi (không phải là bạn làm không ra)
Vấn đề nằm ở chổ: Nếu dùng MOD với cell A1 thì kết quả thu được là 0, 1, 2, 3, 4... trong khi cái bạn cần là kết quả 5, 1, 2, 3, 4 (vì thế mà bạn phải IF)
Ẹc... Ẹc...
Vậy thuật toán chủ yếu nhất trong các cách giãi vẩn là MOD(A1 - 1, ...) ---> Ra kết quả ---> cộng thêm 1 vào
Có 1 bài toán tương tự (lâu lắm rồi):
- WEEKDAY(Ngay) cho kết quả từ 1 đến 7
- Người ta muốn CONVERT kiểu nào đó sao cho:
Thứ tư biến thành Thứ 2
Thứ năm biến thành Thứ 3
.....
CN biến thành Thứ 6
vân vân...
Thử xem có phải là giống nhau về cơ bản không?

Khác nhau anh ơi,

Bài toán WEEKDAY, là bài toán đơn theo 1 chiều chỉ cần +- là ra
còn ở đây
Bài toán theo bảng 2 chiều,
Vậy chúng ta phải xét theo 2 phương hàng / cột
.
 
Web KT

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

Back
Top Bottom