Xin các bác cách chuyển câu hỏi trắc nghiệm word sang excel ạ

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Em có 1 file có nhiều câu trắc nghiệm, mỗi câu có 4 đáp án A, B, C D, em cần tách mỗi câu hỏi ra riêng 1 cột , đáp án ra riêng từng cột và đáp án đúng ra riêng từng cột như bên dưới, mong bác giúp em với ạ
có cách nào dùng excel mà chỉ cần copy toàn bộ nội dung ở word rồi paste vào excel nó lọc được không ạ
42034202

Được chứ. Trừ phi bên Word bị thằng nòa dốt quá, gõ dữ liệu như hạch.

4206
Bạn copy toàn bộ các trang word, dán vào sheet Nguon từ ô A1 theo định dạng Match Destination Formatiing (M), sau đó bấm vào nút màu xanh bên sheet Dich rồi chờ một chút là xong.
File dưới đây là kết quả mình đã thử với file word bạn đính kèm. Bạn kiểm tra lại nhé.

www.giaiphapexcel.com/diendan/threads/xin-c%C3%A1c-b%C3%A1c-c%C3%A1ch-chuy%E1%BB%83n-c%C3%A2u-h%E1%BB%8Fi-tr%E1%BA%AFc-nghi%E1%BB%87m-word-sang-excel-%E1%BA%A1.164237/

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 3 ▥ 0
Quảng cáo

Bạn nên đọc

3 Responses

  1. hands says:

    Được chứ. Trừ phi bên Word bị thằng nòa dốt quá, gõ dữ liệu như hạch.

    287227

    Lưu lại, bữa sau em có làm thì thử xem sao.
    Hiện tại thì em vẫn làm như sau
    1. Chuyển hết câu hỏi và đáp án sao cho mỗi thứ nằm 1 dòng riêng.
    Cái này có thể dùng ctrl H, tuy nhiên ngành của em đôi khi câu hỏi còn dài gấp mấy lần đáp án, đôi khi còn có công thức nên 1 số chỗ phải làm tay.
    2. Copy toàn bộ qua sheet 1.
    3. Dùng hàm đặt mã, ví dụ câu 1,2,3… là 10,20,30… Đáp án A,B,C của câu 1 là 11,12,13
    4. Qua sheet 2, dùng index, match để xếp theo thứ tự mình muốn.
    5. Qua sheet 3, dùng random để bốc đại 40 – 60 câu để làm đề. Bốc đại tuy không đúng đắn lắm nhưng yêu cầu không cao nên xài tạm.

    Ctrl+F và Ctrl+H là một trong những công cụ rất đắc lực trong Word. Bất cứ ai sử dụng Word đều nên thuần hục.
    Nếu bạn thấy mình ít khi dùng đến chúng thì có khả năng là văn bản bạn thiết kế chưa hiệu quả.

    5. Qua sheet 3, dùng random để bốc đại 40 – 60 câu để làm đề. Bốc đại tuy không đúng đắn lắm nhưng yêu cầu không cao nên xài tạm.

    Có những câu quan trọng hơn câu khác. Có những câu liên hệ nhau. Ví dụ nếu câu 1 trả lời A mà câu 2 trả lời B thì không lô gic.

    Em vẫn dùng thường xuyên chứ bác. Nhưng 1 số cái nâng cao thì ít dùng nên khi nào cần thì lại lên Google thôi. Ví dụ như cái trong ngoặc đơn và cái xuyệt ngược bác dùng ở trên có tác dụng gì thì em chưa biết. Nhưng để khi nào em dùng máy tính thử lại có vấn đề gì em hỏi tiếp.

    Chưa hình dung ra được chỗ này phải làm như thế nào. Bác có thể cho 1 số gợi ý được không ạ.

    Nôm na là sau này gặp các trường hợp tương tự thì mình đặt các trường hợp có thể xảy ra mà mình đã từng gặp phải để bẫy lỗi đó bạn.

  2. hands says:

    Dùng code này nhé.
    Word kiểu nào cũng được, miễn sao:
    1- Câu hỏi nằm tại cột A. Các câu hỏi bắt đầu bằng cụm từ "Câu 1:…","Câu 2: …","Câu n: …"
    2- Câu trả lời bắt đầu bằng cụm từ: "A. " hay "B. " hay "C." hay "D. ", có thể từ cột A đến E hoặc B đến E
    Xem file.

    Option Explicit
    Sub Export()
    Dim lr&, i&, j&, k&, t&, m&, rng, arr(1 To 1000, 1 To 6), ary
    ary = Array("A.", "B.", "C.", "D.") ' bao dam la cac cau tra loi bat dau bang A., B., C., D.
    With Sheets("Word")
    lr = WorksheetFunction.Max(.Cells(Rows.Count, "A").End(xlUp).Row, .Cells(Rows.Count, "B").End(xlUp).Row)
    rng = .Range("A1:E" & lr).Value
    For i = 1 To UBound(rng) – 1
    If rng(i, 1) Like "C*:*" Then ' bao dam la cac cau hoi bat dau bang: "Cau 1:", cho den "Cau n:"
    k = k + 1
    arr(k, 1) = rng(i, 1)
    For t = i + 1 To WorksheetFunction.Min(i + 10, UBound(rng))
    If rng(t, 1) Like "C*:*" Then Exit For
    For j = 1 To 5
    For m = 0 To 3
    If rng(t, j) Like ary(m) & "*" Then
    arr(k, m + 2) = rng(t, j)
    Exit For
    End If
    Next
    Next
    Next
    End If
    Next
    End With
    If k > 0 Then
    With Sheets("KQ").Range("A2")
    .Resize(10000, 6).ClearContents
    .Resize(k, 6).Value = arr
    .Resize(1, 6).EntireColumn.AutoFit
    End With
    End If
    End Sub

  3. hands says:

    Một cách khác có thể tham khảo dùng VBA của Word, nhấn tổ hợp phím Ctrl+Alt+Q để xem kết quả.

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm