Trang 4/5 đầuđầu 1 2 3 4 5 cuốicuối
Hiển thị kết quả tìm kiếm từ 31 đến 40 trên tổng số: 42
  1. #31
    Vấn đề hàm nội suy này trong diễn đàn có nhiều rồi, các bạn tìm kiếm trên google sẽ thấy rất nhiều đơn cử một số hàm như sau:

    PHP Code:
    Function TraBang2Chieu(ByVal HangByVal CotVungChon As Range)
    'PMXD'
      
    Dim i As LongAs Long
      Dim TangAnPha
      Dim NoiSuy1 
    As DoubleNoiSuy2 As Double
      
      
    For 1 To UBound(VungChon.Value2)   ' Theo phuong ngang
        If Hang = VungChon(1, i) Then
          For j = 1 To UBound(VungChon.Value, 1) - 1
            If (Cot - VungChon(j, 1)) * (Cot - VungChon(j + 1, 1)) <= 0 Then
              TangAnPha = (VungChon(j + 1, i) - VungChon(j, i)) / (VungChon(j + 1, 1) - VungChon(j, 1))
              TraBang2Chieu = VungChon(j, i) + (Cot - VungChon(j, 1)) * TangAnPha
              GoTo Thoat:
            End If
          Next j
        ElseIf (Hang - VungChon(1, i)) * (Hang - VungChon(1, i + 1)) < 0 Then
          For j = 1 To UBound(VungChon.Value, 1) - 1
            If (Cot - VungChon(j, 1)) * (Cot - VungChon(j + 1, 1)) < 0 Then
              TangAnPha = (VungChon(j, i + 1) - VungChon(j, i)) / (VungChon(1, i + 1) - VungChon(1, i))
              NoiSuy1 = VungChon(j, i) + (Hang - VungChon(1, i)) * TangAnPha
              
              TangAnPha = (VungChon(j + 1, i + 1) - VungChon(j + 1, i)) / (VungChon(1, i + 1) - VungChon(1, i))
              NoiSuy2 = VungChon(j + 1, i) + (Hang - VungChon(1, i)) * TangAnPha
              
              TangAnPha = (NoiSuy2 - NoiSuy1) / (VungChon(j + 1, 1) - VungChon(j, 1))
              TraBang2Chieu = NoiSuy1 + (Cot - VungChon(j, 1)) * TangAnPha
              GoTo Thoat:
            End If
          Next j
        End If
      Next i
      
    Thoat:
      '
    TraBang UBound(VungChon.Value2)
    End Function 
    PHP Code:
    Function Noisuy(HangCot As DoubleByVal bangns As Range) As Double
    ' Ham sau cho phep noi suy ca bang mot chieu va hai chieu CNPM
        Dim Tg1, Tg2, Delta As Double
        Dim m As Long ' 
    so hang
        Dim n 
    As Long ' so cot
        Dim i, j As Long
        Dim Found As Boolean

        n = bangns.Columns.Count
        m = bangns.Rows.Count          
        Found = False
        For j = 1 To n
        Bangns(m + 1, j) = Bangns(m, j)
        Next j
        For i = 1 To m
           Bangns(i, n + 1) = Bangns(i, n)
        Next i

        ' 
    bay gio chung ta co mot mang hai chieu kich thuoc m x n

        
    For 2 To n 1
        
    If (bangns(1j) <= Cot) And (bangns(11) >= CotThen
            Delta 
    = (Cot bangns(1j)) / (bangns(11) - bangns(1j))
            
    Found True
          
            
    Exit For
        
    End If
        
    Next j
        
        
    If Not Found Then
            MsgBox 
    ("So noi suy nam ngoai Hang cua BangNS")      
            
    End
        End 
    If
        
        For 
    2 To m 1
        
    If (bangns(i1) <= Hang) And (bangns(11) >= HangThen
            Tg1 
    bangns(ij) + (bangns(i1) - bangns(ij)) * Delta
            Tg2 
    bangns(1j) + (bangns(11) - bangns(1j)) * Delta
            Delta 
    = (Hang bangns(i1)) / (bangns(11) - bangns(i1))
            
    Noisuy Tg1 + (Tg2 Tg1) * Delta
            Found 
    True
            
    Exit For
        
    End If
        
    Next i
        
        
    If Not Found Then
            MsgBox 
    ("So noi suy nam ngoai cot cua BangNS")        
            
    End
        End 
    If
                
        
    End Function 
    PHP Code:
    Function noisuy(ByVal r As RangeByVal hang As DoubleByVal cot As Double) As Variant
    Dim i
    jh1h2co1co2 As Integer
    Dim ns1
    ns2 As Double
    If hang r(r.Rows.Count1) And cot r(1r.Columns.CountThen
    noisuy 
    r(r.Rows.Countr.Columns.Count)
     Exit Function
     
    ElseIf 
    hang r(r.Rows.Count1Then
    For 2 To r.Columns.Count 1
        
    If cot >= r(1j) And cot r(11Then
            co1 
    j
            co2 
    1
            
    Exit For
        
    End If
    Next
    noisuy 
    ns(r(1co1), r(1co2), cotr(r.Rows.Countco1), r(r.Rows.Countco2))
    ElseIf 
    cot r(1r.Columns.CountThen
    For 2 To r.Rows.Count 1
        
    If hang >= r(i1) And hang r(11Then
            h1 
    i
            h2 
    1
            
    Exit For
        
    End If
    Next
    noisuy 
    ns(r(h11), r(h21), hangr(h1r.Columns.Count), r(h2r.Columns.Count))
    Else
    For 
    2 To r.Rows.Count 1
        
    If hang >= r(i1) And hang r(11Then
            h1 
    i
            h2 
    1
            
    Exit For
        
    End If
    Next
    For 2 To r.Columns.Count 1
        
    If cot >= r(1j) And cot r(11Then
            co1 
    j
            co2 
    1
            
    Exit For
        
    End If
    Next
    ns1 
    ns(r(h11), r(h21), hangr(h1co1), r(h2co1))
    ns2 ns(r(h11), r(h21), hangr(h1co2), r(h2co2))
    noisuy ns(r(1co1), r(1co2), cotns1ns2)
    End If
    End Function 
    PHP Code:
    Function ns(ByVal a As DoubleByVal b As DoubleByVal c As DoubleByVal x As DoubleByVal y As Double
    ''Laulemroi va toi
    As Double
    ns 
    + (x) * (a) / (a)
    End Function


    Function 
    finds(ByVal r As RangeByVal hang As DoubleByVal cot As Double) As Variant
    Dim h1
    h2co1co2 As Integer
    Dim ns1
    ns2 As Double
    Dim r1
    r2 As Range
    Set r1 
    r.Rows(1): Set r2 r.Columns(1)
    Dim Fn As WorksheetFunction
    Set Fn 
    Application.WorksheetFunction
    On Error Resume Next
    If hang r(21) Or hang r(r.Rows.Count1) Or cot r(12) Or cot r(1r.Columns.CountThen
        finds 
    "Out Range": Exit Function
    Else
    h1 Fn.Match(hangr2): h2 h1 1
    co1 
    Fn.Match(cotr1): co2 co1 1
    ns1 
    ns(r(h11), r(h21), hangr(h1co1), r(h2co1))
    ns2 ns(r(h11), r(h21), hangr(h1co2), r(h2co2))
    finds ns(r(1co1), r(1co2), cotns1ns2)
    End If
    End Function 

    Tuy nhiên nếu dùng thêm hàm index và match có lẽ nhẹ nhàng hơn nhiều hàm if!
    thay đổi nội dung bởi: MicrosoftExcel, 22-11-11 lúc 04:10 PM
    Người bi quan chỉ thấy khó khăn trong các cơ hội, người lạc quan thấy được cơ hội trong mọi khó khăn!

  2. Có 2 thành viên cảm ơn MicrosoftExcel về bài viết này:


  3. #32
    Tham gia ngày
    04 2011
    Bài gởi
    1
    Cảm ơn
    0
    Được cảm ơn 0 lần trong 0 bài viết
    hic, sao minh down về nhưng ko thể dùng đc hàm của bạn, nó cứ báo lỗi NAME. bạn nào có thể giúp mình đc ko? Cảm ơn nhiều :D

  4. #33
    Tham gia ngày
    06 2006
    Bài gởi
    3,236
    Cảm ơn
    5,894
    Được cảm ơn 6,245 lần trong 2,716 bài viết
    hic, sao minh down về nhưng ko thể dùng đc hàm của bạn, nó cứ báo lỗi NAME. bạn nào có thể giúp mình đc ko? Cảm ơn nhiều :D
    Có khi nào chương trình diệt VIRUS trong máy bạn nó xơi tái cái hạm tự tạo í rồi cũng nên! Đang đói mà!
    (hào tất cả mọi người!

  5. #34
    Tham gia ngày
    09 2010
    Bài gởi
    86
    Cảm ơn
    46
    Được cảm ơn 13 lần trong 12 bài viết
    Tui ko chạy được code nào hết...sao kì vậy...

  6. #35
    Làm sao để add hàm macro đó vào bạn.Thanks

  7. #36
    Trích Nguyên văn bởi SA_DQ View Post
    Quan sát dòng lệnh 9 & 10 mình thấy còn có thể rút gọn thêm (về cách viết) để đỡ rườm rà. Đó là tính trước 2 biểu thức, như sau
    Tính trước cho y2: tại phần sau của dòng lệnh 3 sẽ là
    y2 = Rng.Offset(, 1) - y1
    Tương tự như vậy, tại phần sau của dòng lệnh 7 sẽ là:
    a12 = Cells(Clls.Row, Rng.Column + 1) - a11
    & tại phần sau của dòng lệnh 8 là:
    a22 = Cells(Clls.Row + 1, Rng.Column + 1) - a12
    cảm ơn bác rất nhiều ....... em tin tưởng hoàn toàn vào bác :D

  8. Thành viên sau cảm ơn naulluan3388 về bài viết này:


  9. #37
    tai sao khi copy đoạn code vao thi khi dùng lai không được vậy mọi người

  10. #38
    không dùng được là không dùng được thế nào chứ. bạn phải nói rõ ra mọi người mới giúp được chứ ( nến bạn muốn biết thêm thì hỏi Châu Quang Phúc cd09b. hehe chắc bạn biết thằng này. nó cũng rành Vba lắm)

  11. #39
    Tham gia ngày
    06 2011
    Bài gởi
    1
    Cảm ơn
    0
    Được cảm ơn 0 lần trong 0 bài viết
    Có ai biết đổi ngược lại hàng và cột ko giúp mình với. Các hàm 1 chiều của các bạn viết thì toàn là tra theo hàng, giờ mình có bảng tra theo cột thì phải làm sao? Ví dụ:
    1 3 5 7
    8 6.5 4 2
    Thanks các bạn!

  12. #40
    Tham gia ngày
    07 2013
    Bài gởi
    1
    Cảm ơn
    0
    Được cảm ơn 0 lần trong 0 bài viết
    Trích Nguyên văn bởi connhangheo View Post
    em xin giải thích hàm của em như sau, mọi người cho ý kiến về code giúp em
    Bác cho hỏi nếu bảng tra mình muốn để ở Sheet khác thì phải làm như thế nào? Thanks

Trang 4/5 đầuđầu 1 2 3 4 5 cuốicuối

Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Đề tài tương tự

  1. Làm sao lấy chiều dài của chuỗi theo đơn vị chiều dài?
    Viết bởi nguoirung1234 trong chuyên mục Xử lý chuỗi ký tự
    Trả lời: 3
    Bài mới gởi: 08-09-10, 11:45 AM
  2. Dùng hàm nào để chia chiều dài thanh thép?
    Viết bởi Nguyễn Quốc Đạt trong chuyên mục Hàm và công thức Excel
    Trả lời: 13
    Bài mới gởi: 03-09-10, 09:39 AM
  3. Làm thế nào để trình chiếu file *.flv trong Powerpoint khi liên kết với máy chiếu?
    Viết bởi thanhxt2009 trong chuyên mục Ứng dụng Báo cáo và Thuyết trình
    Trả lời: 6
    Bài mới gởi: 29-10-09, 08:04 PM
  4. Chia sẻ tài nguyên trên internet - Bài 6: Chia sẻ một đĩa nhạc
    Viết bởi handung107 trong chuyên mục Những trình ứng dụng và vấn đề tin học văn phòng khác
    Trả lời: 1
    Bài mới gởi: 06-05-08, 10:25 AM
  5. Chia sẻ tài nguyên trên internet - Bài 4: Cách chia nhỏ và ghép file
    Viết bởi handung107 trong chuyên mục Những trình ứng dụng và vấn đề tin học văn phòng khác
    Trả lời: 1
    Bài mới gởi: 19-05-07, 06:46 PM

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •  

Mudim v0.8 Tắt VNI Telex Viqr Tổng hợp
Chính tả Bỏ dấu kiểu mới  [Bật/Tắt (F9)]