Of course you can
Once the $aExcel array is converted to a string then you can use StringSplit, details below
#include <array.au3>
#include <Excel.au3>
Global $oExcel = _Excel_Open(False)
Global $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir&"\E.xlsx", False, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "", "Error opening E.xlsx")
Local $value = "2", $col = 5
$aExcel = _Excel_RangeRead($oWorkbook)
Local $res[0][UBound($aExcel, 2)]
$txt = _ArrayToString($aExcel)
#cs
$a = StringRegExp($txt, '(?m)^(?:[^\|]*\|){' & $col & '}' & $value & '\|.*$', 3)
For $i = 0 to UBound($a)-1
_ArrayAdd($res, $a[$i])
Next
#ce
$rows = StringSplit($txt, @crlf, 1)
For $i = 1 to $rows[0]
$cells = StringSplit($rows[$i], "|", 2)
If $cells[$col] = $value Then _ArrayAdd($res, $rows[$i])
Next
_ArrayDisplay($res)