Ghi giá trị vào đúng vị trí trong bảng (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Mr Dolphy

Thành viên mới
Tham gia
12/1/18
Bài viết
25
Được thích
5
Giới tính
Nam
Xin chào các anh chị diễn đàn,

Em xin nhờ sự trợ giúp từ các anh chị vấn đề nhỏ với bảng tính của em:
Em có 2 sheet như hình
Sheet 1: 1600304113017.png Sheet 2: 1600304166697.png

Sheet 1 là bảng giá trị cần điền vào, Sheet 2 là bảng giá trị cần tham khảo với ô B1 (21/09) là giá trị thay đổi theo ngày.
Mục đích của em là khi giá trị Sheet2!B1 thay đổi thì Sheet 1 sẽ tự điền giá trị cho bảng theo tên tương ứng cho đúng ngày. VD: Nếu ngày là 21/09 bên Sheet 2 thì sẽ điền vào cột có ngày 21/09 bên Sheet 1 với các giá trị từ bên Sheet 2 tương ứng. Em đã thử dùng Index và Match nhưng nó chỉ điền vào cột đặt công thức (20/09), giờ làm sao để nó tự điền vào đúng cột ạ, chắc cần 1 công thức phức tạp hơn. Xin giúp em công thức ạ, đừng dùng VBA vì em dùng online qua Google Spreadsheet.

Em không phải là dân chuyên Excel nên loay hoay mấy bữa nay mãi không làm được, đành nhờ các anh chị giúp đỡ, nhìn có vẻ dễ mà em làm mãi ko được, haiza.
Em cám ơn các anh chị.
 

File đính kèm

  • 1600304140516.png
    1600304140516.png
    13.1 KB · Đọc: 3
  • Danh sách.xlsx
    Danh sách.xlsx
    45.4 KB · Đọc: 3
Cái này nói thật là tôi biết có rất nhiều người trả lời được chủ đề của cậu. Và có người đã đọc bài này, nhưng tác giả chủ đề không đưa file lên và chụp hình thì thiếu dữ liệu tên cột và tên hàng, nên họ chịu không cho bạn hàm chính xác được. Bạn là thành viên cũng 2 năm rồi sao vẫn còn lỗi gửi bài như thế, thì ai mà trả lời được. Buồn cho 1 thế hệ, khi hỏi chúng ta cần chú ý là đã cung cấp đủ dữ liệu tối thiếu cho người giải đáp chưa, không thể để người giải đáp đi tìm đáp án phải tự gõ 1 đống dữ liệu từ cái hình của các bạn được.
 
Chuẩn. Mình cũng nghĩ ra cách làm nhưng ...................
 
Trên excel thì chỉ có thể dùng VBA được thôi.
Còn trên Google Sheet thì tôi không biết.
Nhưng mà với việc dùng hàm để nhập liệu từ sheet 2 sang sheet 1 như vậy thì hàm không làm được. Hoặc phải dùng 1 thủ thuật nào đó đặc biệt
 
Cái này nói thật là tôi biết có rất nhiều người trả lời được chủ đề của cậu. Và có người đã đọc bài này, nhưng tác giả chủ đề không đưa file lên và chụp hình thì thiếu dữ liệu tên cột và tên hàng, nên họ chịu không cho bạn hàm chính xác được. Bạn là thành viên cũng 2 năm rồi sao vẫn còn lỗi gửi bài như thế, thì ai mà trả lời được. Buồn cho 1 thế hệ, khi hỏi chúng ta cần chú ý là đã cung cấp đủ dữ liệu tối thiếu cho người giải đáp chưa, không thể để người giải đáp đi tìm đáp án phải tự gõ 1 đống dữ liệu từ cái hình của các bạn được.

Chuẩn. Mình cũng nghĩ ra cách làm nhưng ...................

Ui, thật tình em xin lỗi, không phải là em lười gửi file đính kèm mà em cảm thấy cái này nó dễ với các anh chị nên nhìn hình có thể viết công thức được luôn, khỏi phải mất công mọi người down file về làm. Cho em gửi lại file đính kèm và xin sự trợ giúp lần nữa ạ, em sai ạ, hic.
 
Ui, thật tình em xin lỗi, không phải là em lười gửi file đính kèm mà em cảm thấy cái này nó dễ với các anh chị nên nhìn hình có thể viết công thức được luôn, khỏi phải mất công mọi người down file về làm. Cho em gửi lại file đính kèm và xin sự trợ giúp lần nữa ạ, em sai ạ, hic.
Ngắn gọn như này cho khỏe, vì xác định tư tưởng trước: tên là có thể trùng nhau nên không thể dò theo tên. điều kiện để ra kết quả luôn đúng là tên cả 2 bên file phải được sắp xếp cùng thứ tự như nhau
PHP:
D2=IF(D$1=Check!$D$1,Check!$D2,"")
 
Ngắn gọn như này cho khỏe, vì xác định tư tưởng trước: tên là có thể trùng nhau nên không thể dò theo tên. điều kiện để ra kết quả luôn đúng là tên cả 2 bên file phải được sắp xếp cùng thứ tự như nhau
PHP:
D2=IF(D$1=Check!$D$1,Check!$D2,"")
Tên trong bảng sắp xếp trùng nhau và công thức này chạy thì được, nhưng mà đổi qua ngày khác thì các cột ngày trước sẽ mất hết giá trị ạ.
 
Tên trong bảng sắp xếp trùng nhau và công thức này chạy thì được, nhưng mà đổi qua ngày khác thì các cột ngày trước sẽ mất hết giá trị ạ.
Vậy chỉ có thể là VBA, công thức chỉ dò giá trị đúng trả về kết quả, điều kiện thay đổi thì kết quả công thức thay đổi thôi bạn
 
Vậy chỉ có thể là VBA, công thức chỉ dò giá trị đúng trả về kết quả, điều kiện thay đổi thì kết quả công thức thay đổi thôi bạn
Căng nhỉ, vì file này mình làm buộc phải làm online trên Google Sheet. VBA thì ko chạy được với Google Sheet, haiza.
 

File đính kèm

...Em không phải là dân chuyên Excel nên loay hoay mấy bữa nay mãi không làm được, đành nhờ các anh chị giúp đỡ, nhìn có vẻ dễ mà em làm mãi ko được, haiza.
Em cám ơn các anh chị.
Bạn không phải là dân chuyên nên không hiểu nguyên lý của bảng tính trải rộng.
Bảng tính trải rộng phải chuẩn cột và hàng.

Đòi hỏi của bạn thiếu một số điều kiện xác định bảng tính có chuẩn hay không.
Điển hình: số dòng (số người) có luôn luôn như thế cho mỗi ngày?
Nếu mỗi ngày sheet 'Check' thay đổi thì lấy gì kiểm soát các ngày đã qua?
 
Sao không nhập luôn vào sheet chính cần gì qua cái sheet Check làm cái gì cho nó phức tạp ra
 
Sao không nhập luôn vào sheet chính cần gì qua cái sheet Check làm cái gì cho nó phức tạp ra
Bên mình có thiết bị để ghi log giá trị trả về 1 cột đó theo ngày và cập nhật online như vậy.
Do cái này có nhiều sheet khác nhau tính theo tháng, trải dài cả năm nên nó dài, nhiều file nữa ạ, cái này mình đưa lên điển hình 1 file, nếu chạy được thì chỉ cần trỏ về đúng giá trị là xong.

Bạn không phải là dân chuyên nên không hiểu nguyên lý của bảng tính trải rộng.
Bảng tính trải rộng phải chuẩn cột và hàng.

Đòi hỏi của bạn thiếu một số điều kiện xác định bảng tính có chuẩn hay không.
Điển hình: số dòng (số người) có luôn luôn như thế cho mỗi ngày?
Nếu mỗi ngày sheet 'Check' thay đổi thì lấy gì kiểm soát các ngày đã qua?

Dạ anh, số dòng và số người luôn ổn định, 2 sheet ko cần quan tâm về đúng người cũng được vì đã sắp theo thứ tự giống nhau trên cả 2 sheet, nhưng vấn đề khó là khi ngày thay đổi thì cần đổi cột để ghi dữ liệu vào thôi, dữ liệu những ngày đã qua ko mất để còn thống kê ạ. Công thức như bác Nhattanktnn =IF(D$1=Check!$D$1,Check!$D2,"") là đúng nhưng nó sẽ làm mất dữ liệu những ngày đã qua.
 
Vậy phải tự viết code cho GG Sheet rồi.
Nhưng cập nhật người ta cập nhật theo hàng dọc chứ, ngày mới được điền vào ngày cũ, nhìn ngày tháng trải ra 31 cột. Rồi lại 12 tháng như vậy nữa. Tự mình làm khó mình trong việc thống kê
 
T tìm ra hướng rồi. Nhưng đang bị cấp trên dày cái vụ tính động đất quên không khai báo khối lượng tham gia dao động. Nảy giờ ngồi trình bày cách cứu tôi xong thì mới sang cứu bạn được.
Tôi có code cho bạn đây:
File tôi kèm bên dưới luôn: bạn cứ nhập bên kia nó sẽ nhảy sang bên này khi bạn chọn về sheets T9-20.

Option Explicit
Option Base 1
Sub FindOutData()
Dim RowMe, ColMe, i, j As Long
Dim SheetActiveMe As String
Dim CellCheck As String
Dim CriticalRange() As Variant
On Error Resume Next
SheetActiveMe = Application.ActiveSheet.Name
RowMe = ThisWorkbook.Worksheets("Check").Columns("B").Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows, LookIn:=xlValues).Row
CriticalRange = ThisWorkbook.Worksheets("Check").Range("A2", "D" & RowMe).Value
CellCheck = ThisWorkbook.Worksheets("Check").Range("D1").Value
ColMe = ThisWorkbook.Worksheets(SheetActiveMe).Rows("1").Find(What:=CellCheck, SearchDirection:=xlPrevious, SearchOrder:=xlByColumns, LookIn:=xlValues).Column
RowMe = ThisWorkbook.Worksheets(SheetActiveMe).Columns("B").Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows, LookIn:=xlValues).Row
For i = 2 To RowMe
For j = 1 To UBound(CriticalRange)
If ThisWorkbook.Worksheets(SheetActiveMe).Range("B" & i).Value & ThisWorkbook.Worksheets(SheetActiveMe).Range("C" & i).Value = CriticalRange(j, 2) & CriticalRange(j, 3) Then
ThisWorkbook.Worksheets(SheetActiveMe).Cells(i, ColMe).Value = CriticalRange(j, 4)
Exit For
End If
Next j
Next i
End Sub
 

File đính kèm

Vậy phải tự viết code cho GG Sheet rồi.
Nhưng cập nhật người ta cập nhật theo hàng dọc chứ, ngày mới được điền vào ngày cũ, nhìn ngày tháng trải ra 31 cột. Rồi lại 12 tháng như vậy nữa. Tự mình làm khó mình trong việc thống kê

Vâng bác, mỗi tháng thì chỉ lấy kết quả tầm 12 ngày thôi, rồi chia thành nhiều sheets. Nhưng khổ cái thiết bị bên e nó chỉ trả kết quả đúng vào cột B sheet Check chứ em bày ra nhiều làm gì cho nhọc công.
Nhiệm vụ chỉ là dò đúng ngày rồi điền vào cột đó thôi, ko thay đổi các giá trị cột khác, căng ghê, GG Sheet có viết code được giống VBA hả bác, em chưa biết vụ này.
Bài đã được tự động gộp:

T tìm ra hướng rồi. Nhưng đang bị cấp trên dày cái vụ tính động đất quên không khai báo khối lượng tham gia dao động. Nảy giờ ngồi trình bày cách cứu tôi xong thì mới sang cứu bạn được.
Tôi có code cho bạn đây:
File tôi kèm bên dưới luôn: bạn cứ nhập bên kia nó sẽ nhảy sang bên này khi bạn chọn về sheets T9-20.

Option Explicit
Option Base 1
Sub FindOutData()
Dim RowMe, ColMe, i, j As Long
Dim SheetActiveMe As String
Dim CellCheck As String
Dim CriticalRange() As Variant
On Error Resume Next
SheetActiveMe = Application.ActiveSheet.Name
RowMe = ThisWorkbook.Worksheets("Check").Columns("B").Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows, LookIn:=xlValues).Row
CriticalRange = ThisWorkbook.Worksheets("Check").Range("A2", "D" & RowMe).Value
CellCheck = ThisWorkbook.Worksheets("Check").Range("D1").Value
ColMe = ThisWorkbook.Worksheets(SheetActiveMe).Rows("1").Find(What:=CellCheck, SearchDirection:=xlPrevious, SearchOrder:=xlByColumns, LookIn:=xlValues).Column
RowMe = ThisWorkbook.Worksheets(SheetActiveMe).Columns("B").Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows, LookIn:=xlValues).Row
For i = 2 To RowMe
For j = 1 To UBound(CriticalRange)
If ThisWorkbook.Worksheets(SheetActiveMe).Range("B" & i).Value & ThisWorkbook.Worksheets(SheetActiveMe).Range("C" & i).Value = CriticalRange(j, 2) & CriticalRange(j, 3) Then
ThisWorkbook.Worksheets(SheetActiveMe).Cells(i, ColMe).Value = CriticalRange(j, 4)
Exit For
End If
Next j
Next i
End Sub

Rất cảm ơn bác đã viết code VBA, mà khổ cái là file mình chạy online trên Google Sheet, hình như VBA ko chạy được trên Google Sheet.
 
Lần chỉnh sửa cuối:
...
Rất cảm ơn bác đã viết code VBA, mà khổ cái là file mình chạy online trên Google Sheet, hình như VBA ko chạy được trên Google Sheet.
Nếun không phải do bạn tự nguyện, hoặc tự nâng cấp mình lúc xin việc thì rõ ràng là Công ty bạn đã bắt bạn làm việc quá khuôn khổ của mình.
Googlge script đòi hỏi một kiến thức căn bản về kỹ thuật scripting và JavaScript.
Dẫu bạn dưới đây có nhã ý giúp bạn code thì cứ mỗi thay đổi lặt vặt lại phải nhờ đúng bạn ấy giúp. Người khác giúp cũng được nhưng Script nếu không quản lý kỹ thì sau một vài lần sửa đổi sẽ thành đám rừng.

Chú: cái bạn dưới đây có tính giống tôi, không đọc được từ viết tắt. Bạn ka-ô y có khi y không hiểu.

Bạn share và gửi link qua đây nhé.
Cứ trình bày rõ ràng là có kết quả.
 
Lần chỉnh sửa cuối:
Nếun không phải do bạn tự nguyện, hoặc tự nâng cấp mình lúc xin việc thì rõ ràng là Công ty bạn đã bắt bạn làm việc quá khuôn khổ của mình.
Googlge script đòi hỏi một kiến thức căn bản về kỹ thuật scripting và JavaScript.
Dẫu bạn dưới đây có nhã ý giúp bạn code thì cứ mỗi thay đổi lặt vặt lại phải nhờ đúng bạn ấy giúp. Người khác giúp cũng được nhưng Script nếu không quản lý kỹ thì sau một vài lần sửa đổi sẽ thành đám rừng.

Chú: cái bạn dưới đây có tính giống tôi, không đọc được từ viết tắt. Bạn ka-ô y có khi y không hiểu.

Hic, mọi người đừng vội đánh giá như vậy. Công việc chính em đang làm chả liên quan gì đến câu hỏi của chủ đề này, còn em đang làm việc này hoàn toàn tự nguyện để giúp đỡ 1 tổ chức nhỏ cũng toàn những người cũng tự nguyện làm việc bên cạnh công việc chính của họ. Em cảm thấy mình có khả năng làm được 1 thiết bị để giúp cho họ tiết kiệm được nhiều thứ và chính xác hơn nên làm thôi, em làm là để giúp đỡ cộng đồng chứ có lợi lộc gì đâu.
Mà mọi thứ em đã làm xong, giá trị đã được gửi về, giờ chỉ là kết nối với file tổng để nhập và lưu trữ lại thôi, em thấy trên diễn đàn nhiều anh em giỏi về lĩnh vực này và muốn nhanh chóng đưa ra sử dụng để còn thời gian làm việc cá nhân nên đăng bài nhờ sự giúp đỡ hoặc chí ít cũng chỉ cho em hướng đi chứ em đâu phải dạng sinh viên nhờ làm bài tập đồ án,... gì đâu.
Mình xưng hô em vì cảm thấy tôn trọng những anh em nhiều kinh nghiệm về mảng này hoặc lớn hơn về số năm tham gia diễn đàn một cách lịch sự vậy thôi chứ tuổi thật chắc lớn hơn nhiều anh em trong này. Mình tham gia diễn đàn của nước ngoài thấy nhiều người từ các nước khác đều dùng Google dịch, sai tùm lum mà mọi người chỉ cần nắm bắt ý là có thể làm giúp được rồi, mọi người ai có ý tốt thì giúp đỡ mình để hoàn thành nốt dự án, không thì đành nghiên cứu thêm hoặc đổi phương án vậy.
Cám ơn các anh em.
 
Mình tò mò và thích cái này lắm, bạn chia sẻ chút thông tin được không?

Ui, nó cũng bình thường thôi anh, gọi nôm na vậy cho nó dễ hình dung, tại nó không liên quan gì đến excel nên chắc chat riêng vấn đề này đi anh. Em click vào nick anh để liên lạc mà toàn được thông báo như hình bên dưới, hic, anh gửi inbox qua em với.

Chỗ này chắc không sai rồi. Trong diễn đàn này toàn các anh tuổi đầu 6, đầu 7 thôi. Điển hình anh phía trên ấy. :)



Đúng rồi, em biết trong này toàn cây cổ thụ thôi, anh chắc cũng vậy, nhìn thông số thống kê chắc cũng dành cả thanh xuân trong này, hihi.
 

File đính kèm

  • 1600398877696.png
    1600398877696.png
    63.6 KB · Đọc: 9
Ui, nó cũng bình thường thôi anh, gọi nôm na vậy cho nó dễ hình dung, tại nó không liên quan gì đến excel nên chắc chat riêng vấn đề này đi anh. Em click vào nick anh để liên lạc mà toàn được thông báo như hình bên dưới, hic, anh gửi inbox qua em với.
Trao đổi ở đây cũng được mà bạn. Mình chỉ tò mò nên chỉ cần mô tả chung chung là gì thôi ấy.
 
Hic, mọi người đừng vội đánh giá như vậy. Công việc chính em đang làm chả liên quan gì đến câu hỏi của chủ đề này, còn em đang làm việc này hoàn toàn tự nguyện để giúp đỡ 1 tổ chức nhỏ cũng toàn những người cũng tự nguyện làm việc bên cạnh công việc chính của họ. Em cảm thấy mình có khả năng làm được 1 thiết bị để giúp cho họ tiết kiệm được nhiều thứ và chính xác hơn nên làm thôi, em làm là để giúp đỡ cộng đồng chứ có lợi lộc gì đâu.
...
Vậy thì bạn chỉ nên chú trọng vào cái thiết bị đi, và nhường cho mọt nhân vật cũng thiện nguyện nào đó làm cái bảng tính này.
Rõ ràng là căn bản thiết kế bảng tính chưa phải là trình độ của bạn. Có ai giúp bạn script hay gì thì cũng là chữa tạm.
 
Trao đổi ở đây cũng được mà bạn. Mình chỉ tò mò nên chỉ cần mô tả chung chung là gì thôi ấy.
Vâng anh, em đang làm để giúp giáo xứ em quản lý mấy bạn thiếu nhi đi học giáo lý mỗi tuần, sơ sơ chắc cũng hơn 500 bạn, em thấy điểm danh qua giấy nó vừa không tiết kiệm vừa tốn kém thời gian để tập hợp và nhập lên máy tính lại dễ dẫn đến không chính xác, nên em làm cái này để trong vòng 15p là có được số liệu học trò đi học ngày hôm đó, anh chị trưởng có thể nhìn qua các charts trên điện thoại để nắm bắt tình hình nhanh hơn so với việc cả tháng mới thu lại được danh sách điểm danh.
Số liệu cho ngày cần điểm danh thì em đã thu về được, chỉ đang kẹt vấn đề lưu trữ về file tổng như em đã trình bày ở trên thôi, chứ nếu 1 ngày là dễ rồi, đằng này hạn chế là nó chỉ trả về 1 cột, em cần lưu cột đấy vào file tổng cho đúng ngày là xong. Thấy mọi người bàn luận thì chắc chỉ còn cách là biết script rồi, cái này em thì em chưa thử bao giờ, hic.
Bài đã được tự động gộp:

Vậy thì bạn chỉ nên chú trọng vào cái thiết bị đi, và nhường cho mọt nhân vật cũng thiện nguyện nào đó làm cái bảng tính này.
Rõ ràng là căn bản thiết kế bảng tính chưa phải là trình độ của bạn. Có ai giúp bạn script hay gì thì cũng là chữa tạm.
Vâng anh, phần em thì xong rồi, còn cái khó nên em đi nhờ trợ giúp thôi, biết đâu em lại học được điều hay ho :)
 
...................................chứ tuổi thật chắc lớn hơn nhiều anh em trong này. .....................................
Tuổi thật của bạn cao lắm là 40 tuổi chứ mấy, tuổi bạn còn thua xa cái người tiếp chuyện với bạn.
 
Lần chỉnh sửa cuối:
Cám ơn bác nhưng bị ngược rồi ạ, Sheet T9-20 là lấy dữ liệu từ cột "Check!B2" để điền vào theo đúng ngày, ô bôi xanh của sheet Check là thay đổi theo ngày
Làm lại này, hơi hiểu ý bạn nhưng không chắc đã đúng…
Thử các nút lưu và xóa…
 

File đính kèm

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

Back
Top Bottom