Get instant live expert help with INDEX Function in Excel

“My Excelchat expert helped me in less than 20 minutes, saving me what would have been 5 hours of work!”

Post your problem and you’ll get expert help in seconds.

Our professional experts are available now. Your privacy is guaranteed.

Here are some problems that our users have asked and received explanations on

I need help with an index match formula in excel as part of the formula is working but this requires an additional parameter I am not sure how to code
Solved by X. W. in 28 mins
Sub sample() Dim ws_sheet1 As Worksheet Dim ws_sheet2 As Worksheet Dim wb As Workbook Set wb = ActiveWorkbook Set ws_input = wb.Sheets("Sheet1") Set ws_output = wb.Sheets("Sheet2") With ws_input lastrow_input = .Cells(.Rows.Count, "B").End(xlUp).Row End With For i = 2 To lastrow_input txt = ws_input.Range("B" & i) rpt = ws_input.Range("A" & i) If rpt <> 0 Then For j = 1 To rpt With ws_output lastrow_output = .Cells(.Rows.Count, "B").End(xlUp).Row End With ws_output.Range("B" & lastrow_output + 1) = txt ws_output.Range("N" & lastrow_output + 1) = txt Next End If Next MsgBox "Index population completed based on the repeition of numbers in column A", vbInformation, "Status" End Sub Macro is giving me a Mismatch Error
Solved by O. W. in 17 mins
Need help with the VLOOKUP function. I need excel index number, table array, and range lookup to be static and non-changing, while the lookup value is dynamic with the adjacent column
Solved by C. L. in 24 mins
I need help with a match and index formula that contains both numbers and text
Solved by G. D. in 12 mins
Need Help in set the range to search duplicates ws.Activate Set rng = ws.Range(Cells(2, 1), Cells(LargestRow, LastCol)) 'find the number of columns and enter into the array ReDim varArray1(LastCol - 1) 'ReDim varArray1(Application.WorksheetFunction.CountA(rng)) index = 0 'loop through range and load values to the array Do Until index > LastCol - 1 varArray1(index) = index + 1 index = index + 1 Loop 'remove duplicates rng.Select rng.RemoveDuplicates Columns:=varArray1(index), Header:=xlNo
Solved by A. A. in 18 mins
In my worksheet, I have date fields and text fields that immediately follow each date field. The date fields are just that. The text fields are identifiers, in this case, the letter "P". I want to run a formula (vlookup, index, whatever) that picks out every date that is less than 12/20/2017 and has a P in the box directly after each date. My columns go out to 'FG" or so and there are 62 rows of info. I'm looking for something that will return results on the entire sheet, not row by row.
Solved by S. L. in 30 mins
application.run will not work code of this procedure Private Sub Done_Click() YSize = TextBox1 XSize = TextBox2 XPos = TextBox3 YPos = TextBox4 Dim Str As String Dim SigData As String Dim NewSig As Object Dim mSig As String mSig = "" Dim cHolder As String CheckDocumentTimeDateStamp cHolder = ActiveCell.Address Me.SigPlus1.TabletState = 0 Me.SigPlus1.ExportSigFile "" TabletMode = Me.SigPlus1.TabletMode Me.SigPlus1.TabletMode = 0 Me.SigPlus1.EncryptionMode = 0 Me.SigPlus1.GetSigData SigData Me.SigPlus1.TabletMode = TabletMode MakeNewSig = True If lstSignatureChange.Text <> "" And lstSignatureChange.Text <> "New" Then SigNum = lstSignatureChange.Text ActiveSheet.Shapes(SigNum).Select If Selection.ShapeRange.Count = 1 Then If Selection.ShapeRange.Type = msoOLEControlObject Then If Selection.ShapeRange(1).OLEFormat.ProgId = "SIGPLUS.SigPlusCtrl.1" Then mSig = Selection.Name Set NewSig = Selection.ShapeRange(1) NewSig.OLEFormat.Object.Object.EncryptionMode = 0 MakeNewSig = False If optYes.Value = True Then NewSig.OLEFormat.Object.Object.ZoomX = 0 ElseIf optNo.Value = True Then NewSig.OLEFormat.Object.Object.ZoomX = 1 End If End If End If End If End If If MakeNewSig = True Then ActiveSheet.OLEObjects.Add(ClassType:="SIGPLUS.SigPlusCtrl.1", _ Link:=False, DisplayAsIcon:=False).Select If txtSigName.Text = "" Then mSig = Selection.Name Else mSig = txtSigName.Text Selection.Name = mSig End If Selection.ShapeRange(1).LockAspectRatio = msoFalse Set NewSig = Selection.ShapeRange(1) With NewSig.OLEFormat.Object.Object If optYes.Value = True Then .ZoomX = 0 ElseIf optNo.Value = True Then .ZoomX = 1 End If .JustifyMode = 5 .JustifyX = 10 .JustifyY = 10 .DisplayPenWidth = 7 If .NumberOfTabletPoints = 0 Then .Annotate = "Blank Signature-" & mSig .SaveSigInfo = True End If End With End If NewSig.Height = YSize * 72 NewSig.Width = XSize * 72 NewSig.Left = XPos * 72 NewSig.Top = YPos * 72 With NewSig.OLEFormat.Object.Object TabletMode = .TabletMode .ClearTablet .EncryptionMode = 0 .TabletMode = 0 .SetSigData SigData .TabletMode = TabletMode 'If .NumberOfTabletPoints > 0 Then If .ZoomX = 0 Then '.AutoTimeStamp .AutoTimeStamp .TimeStamp = myTimeStamp End If 'End If LogY = .TabletLogicalYSize TextSize = (LogY * 14) / 100 * 0.72 / YSize * 0.8 'HoldTSize * 1.2 ' If .ZoomX = 0 Then .DisplayTimeStamp = True .DisplayTimeStampSize = TextSize .DisplayAnnotate = True .DisplayAnnotateSize = TextSize End If .SaveSigInfo = True Dim obj As Object Dim b, C As Integer Dim cString, d As String Dim yy, zz As Integer Set obj = ActiveSheet.UsedRange cString = obj.Address b = Len(cString) C = InStr(1, cString, ":") d = Mid(cString, C + 1, b - C) ActiveSheet.Range(d).Activate yy = ActiveCell.Row zz = ActiveCell.Column For i = 1 To yy For j = 1 To zz If CStr(ActiveSheet.Cells(i, j)) = "" Then Else: Str = Str & CStr(ActiveSheet.Cells(i, j)) End If Next j Next i .AutoKeyStart .AutoKeyAddData Str .AutoKeyFinish .EncryptionMode = 2 If .ZoomX = 0 Then .Annotate = mSig End If .ExportSigFile "" End With Dim Points As String Dim PointSigs As String PointSigs = 0 For Index = 1 To ActiveSheet.Shapes.Count If ActiveSheet.Shapes(Index).Type = msoOLEControlObject Then If ActiveSheet.Shapes(Index).OLEFormat.ProgId = "SIGPLUS.SigPlusCtrl.1" Then With ActiveSheet.Shapes(Index).OLEFormat.Object.Object .ClearTablet .AutoKeyStart .AutoKeyAddData Str .AutoKeyFinish .EncryptionMode = 2 .ImportSigFile "" Points = .NumberOfTabletPoints If .NumberOfTabletPoints = 0 Then .Annotate = "Blank Signature-" & ActiveSheet.Shapes(Index).Name .SaveSigInfo = True End If End With PointSigs = Points + PointSigs End If End If Next Index ActiveSheet.Range(cHolder).Select Unload frmInsertSignature Dim wkb As Workbook Set wkb = Workbooks("Service Sheet.xlsm") Application.Run ("'C:\Billion\Service\Service Sheet.xlsm'!module1.OpenServiceSheet") End Sub
Solved by Z. U. in 21 mins
I need assistance creating a fairly advance index match function excel for multiple variable criteria
Solved by E. J. in 30 mins
Hi, I am currently working on a formula but it keeps on displaying an error warning. SUBSTITUTE(IF(Main!C5="Car",'Gallery Index'!$F$3,IF(Main!C5="Bike",'Gallery Index'!$G$3,IF(Main!C5="Truck",'Gallery Index'!$H$3,IF(Main!C5="Bus",'Gallery Index'!$I$3))),"{{title}}",CONCATENATE("<center>",CLEAN(UPPER(Main!D5))))," ",CLEAN(UPPER(Main!E5)),"<br>",CLEAN(UPPER(Main!F5)),"<br><br><u><mark>",CLEAN(UPPER(Main!G5)),"</mark></u><br>","PART NUMBER: ",CLEAN(UPPER(Main!H5)),IF(Main!R5>1,CONCATENATE(" (X",Main!R5," PCS)<br><mark>TOTAL: X",Main!R5," ITEMS</mark>"),""),"<br><br>","ITEM DETAILS:<br>THIS IS A BRAND NEW ",IF(Main!AC5,"AFTERMARKET ITEM",CONCATENATE("ITEM<br>MANUFACTURED BY ",CLEAN(UPPER(Main!D5)))),"</center>",IF(Main!C5="Car",'Gallery Index'!$F$4,IF(Main!C5="Bike",'Gallery Index'!$G$4,IF(Main!C5="Truck",'Gallery Index'!$H$4,IF(Main!C5="Bus",'Gallery Index'!$I$4))) Here is the formula.
Solved by D. A. in 24 mins
I have an array of numbers. I am attempting to look up the row index number of the location of that number in the column headed up by a particular lookup value. I am currently using an indirect column reference which relies on the column number of the heading. Is there a better way?
Solved by F. A. in 21 mins