{"text_format":"1","workbook":"xlsx","n_sheets":3,"sheets":["Example 1","Example 2- MD.TVD","Help"],"not_rendered":{"charts":0,"images":0,"macros":1,"external_links":0,"defined_names":3,"comments":3,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"Example 1","index":0,"n_rows":52,"n_cols":9,"rows_kept":52,"cut":false,"hidden":false,"merged":[[8,5,8,6],[31,5,31,6],[46,5,46,6]]}
[null,"3B6BE86B-0759-4766-81C8-91255F8A8C18",null,null,null,null,"https://trantuanlam.github.io/MinimumCurvature/"]
[]
[null,"Well Directional Survey Calculation using Minimum Curvature Method"]
[null,"Well","WellA"]
[]
[null,null,null,null,null,null,null,"Input cell"]
[null,null,null,null,null,null,"Calculated Cell"]
[null,"Planned well survey"]
[null,null,null,null,null,"Local Coordinate"]
[null,"MD","Inclination","Azimuth","TVD","N/S","E/W","DLS","Remark"]
[null,null,null,null,null,"(+)/(-)","(+)/(-)"," /30m"]
[null,"m","deg","deg","m","m","m"]
[null,0,0,300,0,0,0,"zzz"]
[null,200,0,300,{"$f":"E13+mcVertical(C13,C14,D13,D14,B14-B13)","v":200},{"$f":"F13+mcNorth(C13,C14,D13,D14,B14-B13)","v":0},{"$f":"G13+mcEast(C13,C14,D13,D14,B14-B13)","v":0},{"$f":"DLS30Deg(C13,C14,D14-D13,B14-B13)","v":0}]
[null,300,5,300,{"$f":"E14+mcVertical(C14,C15,D14,D15,B15-B14)","v":299.87312439537493},{"$f":"F14+mcNorth(C14,C15,D14,D15,B15-B14)","v":2.1802773911605944},{"$f":"G14+mcEast(C14,C15,D14,D15,B15-B14)","v":-3.7763512160838713},{"$f":"DLS30Deg(C14,C15,D15-D14,B15-B14)","v":1.5}]
[null,330,3.4999999999999938,300,329.78977557505289,3.291872998639557,-5.7016912857078248,1.500000000000006]
[null,400,0,0,399.74624879074986,4.3605547823211861,-7.5527024321677381,1.4999999999999776]
[null,2030,0,270.12679562306926,2029.7462487907499,4.3605547823211861,-7.5527024321677381,0]
[null,2229.8148355620096,10,270.12679562306926,2228.5481770029351,4.3990452909381972,-24.94557484804216,1.5013900201964701]
[null,2312.6615373514351,14.133076867571539,270.12679562306926,2309.5468570944158,4.4373636837506867,-42.260672551750581,1.4966474627113349]
[null,2350.4259382688797,16.021296913443742,270.12679562306926,2346.009616660207,4.4591016087734507,-52.083482644202292,1.4999999999999787]
[null,2881.8038894327046,16.021296913443742,270.12679562306926,2856.7484096988983,4.7836544769063991,-198.7405893041973,0]
[null,3517.0287916216407,36,191.30999755859375,3438.231262291682,-184.34697878646847,-327.26796188967728,1.7000000000000002]
[null,3572.0287916216407,36,191.30999755859375,3482.7271969823041,-216.04736887647366,-333.60807735782089,0]
[null,3918.5383080995998,70.650951647412697,191.30978538229226,3686.5468570953726,-484.43132801986019,-387.28454937606625,2.9999999999999978]
[null,3950,73.65289257405972,191.30977341131418,3696.1885785725303,-513.79394503841468,-393.15699116683339,2.8624724978289295]
[null,null,null,null,null,null,null,null,"<<< Last row of survey should be empty"]
[]
[]
[]
[null,"Example: Interpolation from Planned survey"]
[null,null,null,null,null,"Local Coordinate"]
[null,"MD","Inclination","Azimuth","TVD","N/S","E/W","DLS","Remark"]
[null,null,null,null,null,"(+)/(-)","(+)/(-)"," /30m"]
[null,"m","deg","deg","m","m","m"]
[null,{"$f":"mcGetMDfromTVD($B$13:$D$27, E36)","v":1500.2537512092501},{"$f":"mcGetInclinationfromTVD($B$13:$D$27, E36)","v":0},{"$f":"mcGetAzimuthfromTVD($B$13:$D$27, E36)","v":0},1500,{"$f":"mcGetNorthfromtvD($B$13:$D$27, E36)","v":4.3605547823211861},{"$f":"mcGetEastfromtvd($B$13:$D$27, E36)","v":-7.5527024321677381},{"$f":"mcGetDLS30fromTVD($B$13:$D$27, E36)","v":0}]
[null,{"$f":"mcGetMDfromTVD($B$13:$D$27, E37)","v":2926.7625846595711},{"$f":"mcGetInclinationfromTVD($B$13:$D$27, E37)","v":15.723058373400281},{"$f":"mcGetAzimuthfromTVD($B$13:$D$27, E37)","v":260.86582775438768},2900,{"$f":"mcGetNorthfromtvD($B$13:$D$27, E37)","v":3.8301995094171684},{"$f":"mcGetEastfromtvd($B$13:$D$27, E37)","v":-210.9611511405011},{"$f":"mcGetDLS30fromTVD($B$13:$D$27, E37)","v":1.6999999999999766}]
[null,{"$f":"B36","v":1500.2537512092501},{"$f":"mcGetInclinationfromMD(B$13:D$27, B38)","v":0},{"$f":"mcGetAzimuthfromMD(B$13:D$27, B38)","v":0},{"$f":"mcGetTVDfromMD(B$13:D$27, B38)","v":1500},{"$f":"mcGetNorthfromMD(B$13:D$27,B38)","v":4.3605547823211861},{"$f":"mcGetEastfromMD(B$13,B38)","v":-7.5527024321677381},{"$f":"mcGetDLS30fromMD(B$13,B38)","v":0}]
[null,1900,{"$f":"mcGetInclinationfromMD(B$13:D$27, B39)","v":0},{"$f":"mcGetAzimuthfromMD(B$13:D$27, B39)","v":0},{"$f":"mcGetTVDfromMD(B$13:D$27, B39)","v":1899.7462487907499},{"$f":"mcGetNorthfromMD(B$13:D$27,B39)","v":4.3605547823211861},{"$f":"mcGetEastfromMD(B$13,B39)","v":-7.5527024321677381},{"$f":"mcGetDLS30fromMD(B$13,B39)","v":0}]
[null,3500,{"$f":"mcGetInclinationfromMD(B$13:D$27, B40)","v":35.145960892995504},{"$f":"mcGetAzimuthfromMD(B$13:D$27, B40)","v":192.08220550012891},{"$f":"mcGetTVDfromMD(B$13:D$27, B40)","v":3424.3805229799032},{"$f":"mcGetNorthfromMD(B$13:D$27,B40)","v":-174.64646686684992},{"$f":"mcGetEastfromMD(B$13,B40)","v":-325.26048116594177},{"$f":"mcGetDLS30fromMD(B$13,B40)","v":1.7}]
[null,2201,{"$f":"mcGetInclinationfromMD(B$13:D$27, B41)","v":8.5579231151198663},{"$f":"mcGetAzimuthfromMD(B$13:D$27, B41)","v":270.12679562306926},{"$f":"mcGetTVDfromMD(B$13:D$27, B41)","v":2200.1111344827718},{"$f":"mcGetNorthfromMD(B$13:D$27,B41)","v":4.3887636450229524},{"$f":"mcGetEastfromMD(B$13,B41)","v":-20.299563089444142},{"$f":"mcGetDLS30fromMD(B$13,B41)","v":1.5013900201964676}]
[]
[]
[]
[]
[null,"Test Data",null,"Minimum Curvature Method‎ (drillingformulas.com)"]
[null,null,null,null,null,"Local Coordinate"]
[null,"MD","Inclination","Azimuth","TVD","N/S","E/W","DLS","Remark"]
[null,null,null,null,null,"(+)/(-)","(+)/(-)"," /30ft"]
[null,"ft","deg","deg","ft","ft","ft"]
[null,3500,15,20,0,0,0,0]
[null,3600,25,45,{"$f":"E51+ mcVertical(C51,C52,D51,D52,B52-B51)","v":94.012343232161072},{"$f":"F51+mcNorth(C51,C52,D51,D52,B52-B51)","v":27.218328569754359},{"$f":"G51+mcEast(C51,C52,D51,D52,B52-B51)","v":19.450773746677282},{"$f":"DLS30Deg(C51,C52,D52-D51,B52-B51)","v":3.8854952172384563}]

{"sheet":"Example 2- MD.TVD","index":1,"n_rows":28,"n_cols":9,"rows_kept":28,"cut":false,"hidden":false,"merged":[]}
[null,null,null,null,"https://trantuanlam.github.io/MinimumCurvature/"]
[]
[null,"Example how to convert Measure Depth to TVD vice versa"]
[]
[]
[null,"Interpolation: calculate MD from TVD "]
[null,"Remarks",null,null,"TVD","MD",null,null,"This is an example how to calculate MD of a point when TVD is known"]
[null,"30in shoe",null,null,180,{"$f":"mcGetMDfromTVD('Example 1'!$B$13:G23,E8)","v":180},{"$f":"mcGetMDfromTVD('Example 1'!$B$13,E8)","v":180}]
[null,"26in hole",null,null,605,{"$f":"mcGetMDfromTVD('Example 1'!$B$13:G24,E9)","v":605.25375120925014},{"$f":"mcGetMDfromTVD('Example 1'!$B$13,E9)","v":605.25375120925014}]
[null,"20in casing shoe TVD/MD",null,null,600,{"$f":"mcGetMDfromTVD('Example 1'!$B$13:G25,E10)","v":600.25375120925014},{"$f":"mcGetMDfromTVD('Example 1'!$B$13,E10)","v":600.25375120925014},null,"=mcGetMDfromTVD('Example 1'!$B$13:G28,E13)"]
[null,"17 1/2\" section TD",null,null,2003,{"$f":"mcGetMDfromTVD('Example 1'!$B$13:G26,E11)","v":2003.2537512092501},{"$f":"mcGetMDfromTVD('Example 1'!$B$13,E11)","v":2003.2537512092501},null,"=mcGetMDfromTVD('Example 1'!$B$13,E13)"]
[null,"13 3/8\" shoe",null,null,2000,{"$f":"mcGetMDfromTVD('Example 1'!B13:G27,E12)","v":2000.2537512092501},{"$f":"mcGetMDfromTVD('Example 1'!$B$13,E12)","v":2000.2537512092501},null,"Using 2 above formulae will produce the same result. "]
[null,"12 1/4\" hole",null,null,3000,{"$f":"mcGetMDfromTVD('Example 1'!$B$13:G28,E13)","v":3030.7741174975108},{"$f":"mcGetMDfromTVD('Example 1'!$B$13,E13)","v":3030.7741174975108},null,"Internal calculation will always track down the data range until empty row found."]
[null,"9 5/8\" shoe",null,null,3500,{"$f":"mcGetMDfromTVD('Example 1'!$B$13:G29,E14)","v":3593.6815267431516},{"$f":"mcGetMDfromTVD('Example 1'!$B$13,E14)","v":3593.6815267431516}]
[null,"8 1/2\" section TD",null,null,{"$f":"'Example 1'!E26","v":3696.1885785725303},{"$f":"mcGetMDfromTVD('Example 1'!$B$13:G30,E15)","v":3950},{"$f":"mcGetMDfromTVD('Example 1'!$B$13,E15)","v":3950}]
[null,"a Point of interest",null,null,{"$f":"E15-5","v":3691.1885785725303},{"$f":"mcGetMDfromTVD('Example 1'!$B$13:G31,E16)","v":3933.0486396733518},{"$f":"mcGetMDfromTVD('Example 1'!$B$13,E16)","v":3933.0486396733518}]
[]
[]
[]
[null,"Calculate TVD from MD"]
[null,"MD","TVD",null,"This is an example how TVD is calculated when MD is known"]
[null,0,{"$f":"mcGetTVDfromMD('Example 1'!$B$13,B22)","v":0}]
[null,500,{"$f":"mcGetTVDfromMD('Example 1'!$B$13,B23)","v":499.74624879074986}]
[null,{"$f":"B23+500","v":1000},{"$f":"mcGetTVDfromMD('Example 1'!$B$13,B24)","v":999.74624879074986}]
[null,{"$f":"B24+500","v":1500},{"$f":"mcGetTVDfromMD('Example 1'!$B$13,B25)","v":1499.7462487907499}]
[null,{"$f":"B25+500","v":2000},{"$f":"mcGetTVDfromMD('Example 1'!$B$13,B26)","v":1999.7462487907499}]
[null,{"$f":"B26+500","v":2500},{"$f":"mcGetTVDfromMD('Example 1'!$B$13,B27)","v":2489.774098402685}]
[null,5000,{"$f":"mcGetTVDfromMD('Example 1'!$B$13,B28)","v":{"$error":"#VALUE!"}},null,"Given MD out of range"]

{"sheet":"Help","index":2,"n_rows":51,"n_cols":12,"rows_kept":51,"cut":false,"hidden":false,"merged":[]}
[]
[null,null,null,null,"Short help",null,null,null,"https://trantuanlam.github.io/MinimumCurvature/"]
[]
[]
[null,null,null,null,"This workbook is used to"]
[null,null,null,null,"1) Make survey calculation (TVD/North/East/Dogleg) from directional survey (MD/Inclination/Azimuth) for a well"]
[null,null,null,null,"2) Interpolate survey values for any point given Measure Depth  or True Vertical Depth"]
[null,null,null,null,"Use the same table format for planned and actual survey"]
[]
[]
[null,null,null,null,"VBA functions is stored in this work book. Macro should be enable for calculation."]
[null,null,null,null,"These functions can be used as normal Excel function to carry out survey calculation."]
[]
[null,null,null,null,"Minimum curvature method is applied for all calculations."]
[]
[null,null,null,null,"Function name has prefix mc; for example function mcVertical calculate vertical distance between 2 survey stations."]
[]
[]
[]
[null,null,null,null,"Cell color coding in this workbook"]
[null,null,null,null,null,"Input cell","Type in these cells"]
[]
[null,null,null,null,null,"Formula/output cells"]
[]
[]
[]
[]
[]
[null,null,null,null,"Standard survey data range format"]
[null,null,null,null,"Interpolation functions use entire survey table to make calculation. "]
[null,null,null,null,"First 6 columns of survey table should be MD, Inclination, Azimuth, TVD, North, East to make these functions operate correctly"]
[null,null,null,null,"Empty row in data range is required at the end of data"]
[null,null,null,null,"Cells outside this data range are free to use"]
[]
[null,null,null,null,"MD","Incl, \ndeg","Azimuth, deg","TVD","North/ South","East/ West"]
[]
[null,null,null,null,0,0,0,0,0,0]
[null,null,null,null,280,0,0,{"$f":"H37+ mcVertical(F37,F38,G37,G38,E38-E37)","v":280},{"$f":"I37+mcNorth(F37,F38,G37,G38,E38-E37)","v":0},{"$f":"J37+mcEast(F37,F38,G37,G38,E38-E37)","v":0}]
[null,null,null,null,600,30,112,{"$f":"H38+ mcVertical(F38,F39,G38,G39,E39-E38)","v":585.57749073643902},{"$f":"I38+mcNorth(F38,F39,G38,G39,E39-E38)","v":-30.672503867633157},{"$f":"J38+mcEast(F38,F39,G38,G39,E39-E38)","v":75.917111084139307}]
[null,null,null,null,800,40,150,{"$f":"H39+ mcVertical(F39,F40,G39,G40,E40-E39)","v":751.12271534955585},{"$f":"I39+mcNorth(F39,F40,G39,G40,E40-E39)","v":-106.135752473926},{"$f":"J39+mcEast(F39,F40,G39,G40,E40-E39)","v":155.54032058682103}]
[null,null,null,null,2000,{"$f":"F40","v":40},{"$f":"G40","v":150},{"$f":"H40+ mcVertical(F40,F41,G40,G41,E41-E40)","v":1670.3760470923294},{"$f":"I40+mcNorth(F40,F41,G40,G41,E41-E40)","v":-774.14023154562926},{"$f":"J40+mcEast(F40,F41,G40,G41,E41-E40)","v":541.21288639874456}]
[null,null,null,null,null,null,null,null,null,null,null,"<< Empty row is required at the end of data. This is End of data signature"]
[]
[null,null,null,null,"If MD is given in meter then the TVD, North, East are result in meter."]
[null,null,null,null,"If MD is given in ft then the TVD, North, East are result in ft."]
[]
[]
[]
[null,null,null,null,"Copy/Paste"]
[null,null,null,null,"mcXXXXX functions can be used as normal Excel function, that mean formula can be copy/ paste between cells."]
[null,null,null,null,"Function can be copy/paste make it easy to add a row to survey sheet or make MD-TVD convert for hundreds values"]