Leave Rows before Outputting Array Results - arrays

I would like to create a summary sheet that draws from arrays in two work sheets. I would like the summary sheet (Result) contains two filtered arrays, one below the other (see the attached Desired Summary Page
This works well if the number of rows output by the array does not overlap with the formula for the second array. However, as the arrays are both dynamic the length changes depending on the filter criteria producing an Error (see attached)Overlapping Array Error
Is there any way to count the rows numbers produced by the first array and then get the second array to start after it is complete, so the two don't overlap - i.e. the output from the second array formula may need to be mapped to a remote cell (not containing the formula).
Here is an example spreadsheet
https://docs.google.com/spreadsheets/d/1Rt-Pp4gUYu8jGnXOQn0f2xpEKxoi_74Fqh5WSS-uF7A/edit?usp=sharing
I have tried adding blank rows to the second Array by using Flatten however this overwrites the results of the first Array. I have also tried a query function, but my knowledge of the syntax is not sufficient.
Any suggestions would be welcome.

Combine you two filtered result into one array. Try-
={filter('Sheet 1'!A3:D25,'Sheet 1'!D3:D25=TRUE);SPLIT(REPT(" |",4),"|");filter(Sheet2!A3:D25,Sheet2!D3:D25=TRUE)}
SPLIT(REPT(" |",4),"|") this part is for blank row between two filtered result.

You can stack the data with {} in googlesheet as long as they have the same array-length.
the filters are named as FILTER1 and FILTER2 with LAMBDA(),
added a title line to both filter with QUERY(),
get the 1st row of FILTER1 by INDEX(),
get the length of a row of data by COUNTA(),
set an array with specified rows and cols by MAKEARRAY and name it EMPTYROW,
stack the data created above with {} and ;.
=LAMBDA(FILTER1,FILTER2,
LAMBDA(ROWLEN,
LAMBDA(EMPTYROW,
{
FILTER1;
EMPTYROW;
FILTER2
}
)(MAKEARRAY(1,ROWLEN,LAMBDA(ROW,COL,"")))
)(COUNTA(INDEX(FILTER1,1,)))
)(
QUERY(filter('Sheet 1'!A3:D25,'Sheet 1'!D3:D25=TRUE),
"LABEL Col1'SHEET 1',Col2'',Col3'',Col4''"
),
QUERY(filter('Sheet 2'!A3:D25,'Sheet 2'!D3:D25=TRUE),
"LABEL Col1'SHEET 2',Col2'',Col3'',Col4''"
)
)

Related

How to add values in cells ONLY when other columns contain data from a query result

Link to example file:
https://docs.google.com/spreadsheets/d/1dCQSHWjndejkyyw-chJkBjfHgzEGYoRdXmPTNKu7ykg/edit?usp=sharing
The tab "Source data" contains the data to be used in the query on the tab "Query output". The tab "Desired result" shows what I would like the end result to look like.
The goal I'm trying to achieve is to have the formula in cell A2 on the tab "Query output" to populate the data in all four of the columns, so that it looks exactly like the "Desired result" tab. I know I can get the same result simply by entering additional formulas in C2 and D2, but this is not the objective, I need the results to come specifically from the single formula in A2.
The information in the "Additional data 1" column should simply repeat the word "Test" for every row that contains data in the first two columns. The information in the "Additional data 2" column should simply repeat the data from cell 'Source data'!A1 for every row that contains data in the first two columns.
Please feel free to edit the example file as it only contains dummy data. If you like, you can copy the tab "Query output" to create your own working formula for illustrative purposes.
EDIT:
I'm thinking along the lines of creating an array that consists of the required data for the columns "Additional data 1" and "Additional data 2" and then combining that array with the array of the query result which provides the first two columns. I've been experimenting with this in various ways, but so far the only result I have achieved is an error on the first cell of the query results. I also have no idea yet how I could make sure that the second array contains an equal amount of rows to the query result.
You can add static data into query:
=QUERY('Source data'!A3:B,"SELECT A,B, 'Test', '" & 'Source data'!A1 &"' WHERE A IS NOT NULL LABEL A '', B '', 'Test' '', '" & 'Source data'!A1 &"' ''")
Many thanks to #basic for the provided assistance! The insights were a great help to solving my issue. That said, I have muddled along a bit, and I've come up with a slightly different solution which I find better suited as it gives true blank values instead of a column filled with spaces.
First of all, instead of querying directly on the source data, I built an array and queried on that. I used the two existing columns (A and B) from the source data and added a third column to the array which does not exist in the source data. In order to make sure that the third column would consist of blank values, I used the IFERROR formula.
=IFERROR(0/0)
The formula above returns a blank because dividing by zero forces an error and the IFERROR method returns a blank unless an alternative return value is specified.
In order to be able to use this formula in an array however, it had to be tweaked slightly, because as it is it would only return a single blank cell value instead of a column of blank values. To do this, I used an already existing column from the source data, and then encapsulated it in an ARRAYFORMULA.
=ARRAYFORMULA(IFERROR('Source data'!A3:A/0))
Using this, the resulting array has the following formula.
=ARRAYFORMULA({'Source data'!A3:A,'Source data'!B3:B,IFERROR('Source data'!A3:A/0)})
This creates an array consisting of the two original columns A and B from the source data, plus an additional third column filled with blank values. This array can now be queried upon, and using the tricks previously provided by #basic the desired result as specified in the original question can be achieved.
Due to the query now being used upon a user-defined array, the columns in the SELECT statement now have to be referred to as Col1, Col2, Col3, instead of A, B, C. The final formula now looks like this.
=QUERY(ARRAYFORMULA({'Source data'!A3:A,'Source data'!B3:B,IFERROR('Source data'!A3:A/0)}),"SELECT Col1,Col2,'Test',Col3,'"&'Source data'!A1&"' WHERE Col1 IS NOT NULL LABEL 'Test' '','"&'Source data'!A1&"' ''")
I hope this information may prove of use to someone else as well.

Formula to make the outputs of two separate Filter functions display consecutively

So I have a workbook with 3 sheets. The first contains data from A:Z. The second also contains data from A:Z, but the data is different. The third page is used to query the other by using Filter.
I want to be able to write a single formulate that will Filter data from sheet 1 and display the results, and then starting from the next available row, Filter data from sheet2 and display those results, without any gaps or overwriting.
If the two filters are something like this:
=FILTER(sheet1!A:Z, sheet1!A:A="Bob")
and
=FILTER(sheet2!A:Z, sheet2!A:A="Bob")
So, the only difference between the two filters is the sheet name.
I won't know in advance how many rows of output each filter will produce, so I can't just put the second Filter formula in a cell in a lower row, because I don't want there to be any blanks rows between the two sets of output.
I thought that I could use COUNT or COUNTA to work out how many rows of output there's be from the first Filter formula, but even knowing that, how could I choose in which row the second Filter would begin displaying results?
I thought of using &, but that just puts the first result from each sheet into one cell and gives no other rows or columns of results.
I tried ARRAYFORMULA, but I've never used that before and don't think it is suitable.
I tried JOIN, but it gives an error saying it can only be used for a single row or a single column.
UPDATE: Here's my new code, based on player0's advice
={IFERROR(FILTER('2019 (H904)'!B9:AK, '2019 (H904)'!C9:C=A1, '2019
(H904)'!J9:J=E1), SUBSTITUTE(COLUMN(B9:AK)^0, 1, );
IFERROR(FILTER('2018 (H517)'!B9:AK, '2018 (H517)'!C9:C=A1, '2018
(H517)'!J9:J=E1), SUBSTITUTE(COLUMN(B9:AK)^0, 1, )}))
But I get a formula parse error.
put them in array:
={FILTER(sheet1!A:Z, sheet1!A:A="Bob");
FILTER(sheet2!A:Z, sheet2!A:A="Bob")}
the issue is if one of them outputs nothing. then you need something like this:
=ARRAYFORMULA(QUERY({
IFERROR(FILTER(sheet1!A:Z, sheet1!A:A="Bob"), SUBSTITUTE(COLUMN(A:Z)^0, 1, );
IFERROR(FILTER(sheet2!A:Z, sheet2!A:A="Bob"), SUBSTITUTE(COLUMN(A:Z)^0, 1, )},
"where Col1 is not null", 0))

Excel Array formula IF with multiple criterias

In my spreadsheet using array formula I am creating a unique list of values based on multiple conditions. Formula is below:
{=INDEX(INDIRECT($O$3&"!$L$2:$L$"&$O$16),SMALL(IF((INDIRECT($I$3,FALSE)=$O$7)*(INDIRECT($K$3,FALSE)=$O$9)*(INDIRECT($M$3,FALSE)=$O$11)*(INDIRECT($X$17,FALSE)=$O$15)*(INDIRECT($AF$17,FALSE)>$O$15),ROW(INDIRECT($O$3&"!$L$2:$L$"&$O$16))-2,""),ROW()-20))}
Question belongs to this part if IF function:
(INDIRECT($K$3,FALSE)=$O$9)
Cell $O$9 contains drop down which includes one of cell content variables as well as <>, <>*, <> * Text*,""
When I use direct text match: specific column contains list of fruits and "apple" is one of the values, once $O$9 contains word "apple" formula works and I get a unique list. Should $O$9 contain any of above mentioned combinations (<>, <>*, <> * Text*,"") it gives me an error.
Question: How to change "=$O$9" so that it will be able to use following content of the $O$9 equals to <>, <>*, <> * Text*,"", etc.
Note: I cannot adjust drop down in cell $O$9 but can modify array formula only.
Thanks in advance!
Well this is by no means a complete answer but just to show my thinking:-
Suppose you have two column ranges which I have called AA and BB and you want to implement some of your tests based on $O$9. It would look something like this:-
=SUM((BB=1)*IF($O$9="<>",AA<>"",IF($O$9="<>*",AA="",IF(ISNUMBER(FIND("*",$O$9)),ISERROR(FIND(MID($O$9,4,LEN($O$9)-1),AA)),$O$9=AA))))
So what I am saying is that your (INDIRECT($K$3,FALSE)=$O$9) would have to become something like the contents of the brackets following SUM above.

Create array with vlookup

I want to conditionally grab lines from a database-style spreadsheet in Google Spreadsheets (a list with a name, location, description, price) after checking the value with a vlookup - I've used this a while ago and expected it to CONTINUE an array across for the other columns next to the one 'looked up', but it seems my memory fails me here and it just retrieves the 'searched out' value.
=vlookup("Yes",'All 2014-15'!A2:G,2)
This formula basically finds the first value of the desired rows and should create a 'Selected items from 2014-15' list, but I can't work out how to expand it to produce a list of all the rows I want. Is there a simple way to retrieve this, I've tried playing with arrayformula but no success.
I can change the index simply to get the other values across, but if this could be filled out through an array too that would be preferable...?
Can you try this...
=FILTER('All 2014-15'!A2:G,'All 2014-15'!A2:A="Yes")
Edit:
As suggested by Immx, added apostrophes to sheet name and the second range changed to A2:G to A2:A assuming the yes/no data is in A column.

Select specific rows from a column in a MATLAB workspace into an array

I have a column filled with data in those rows and i would like to select the 1st row from that column but skipping the 2nd row and choosing the 3rd row after and insert them into an array.
Example of the row:
'153:154:155:156:157:158:159:160:161:162:163:164:165:166:167:168:169:170:171:172:173:174:175:176:177:178:179:180:181:182:183:184:185:186:187:188:189:190:191:192:193:194:195:196:197:198:199:200:201:202:203:204:205:206:207:208:209:210:211:212:213:214:215:216:217:218:219:220:221:222:223:224:225:226:227:228:229:230:231:232:233:234:235:236:237:238:239:240:241:242:243:244:245:246:247:248:249:250:251:252:253:254:255:256:257:258:259:260:261:262:263:264:265:266:267:268:269:270:271:272:273:274:275:276:277:278:279:280:281:282'
'153:154:155:156:157:158:159:160:161:162:163:164:165:166:167:168:169:170:171:172:173:174:175:176:177:178:179:180:181:182:183:184:185:186:187:188:189:190:191:192:193:194:195:196:197:198:199:200:201:202:203:204:205:206:207:208:209:210:211:212:213:214:215:216:217:218:219:220:221:222:223:224:225:226:227:228:229:230:231:232:233:234:235:236:237:238:239:240:241:242:243:244:245:246:247:248:249:250:251:252:253:254:255:256:257:258:259:260:261:262:263:264:265:266:267:268:269:270:271:272:273:274:275:276:277:278:279:280:281:282'
'30:31:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:48:49:50:51:52:53:54:55:56:57:58:59:60:61:62:63:64:65:66:67:68:69:70:71:72:73:74:75:76:77:78:79:80:81:82:83:84:85:86:87:88:89:90:91:92:93:94:95:96:97:98:99:100:101:102:103:104:105:106:107:108:109:110:111:112:113:114:115:116:117:118:119:120:121:122:123:124:125:126:127:128:129:130:131:132:133:134:135:136:137:138:139:140:141:142:143:144:145:146:147:148:149:150:151:152:153:154:155:156:157:158:159:160:161:162:163:164:165:166:167:168:169:170:171:172:173:174:175:176:177:178:179:180:181:182:183:184:185:186:187:188:189:190:191:192:193:194:195:196:197:198:199:200:201:202:203:204:205:206:207:208:209:210:211:212:213:214:215:216:217:218:219:220:221:222:223:224:225:226:227:228:229:230:231:232:233:234:235:236:237:238:239:240:241:242:243:244:245:246:247:248:249:250:251:252:253:254:255:256:257:258:259:260:261:262:263:264:265:266:267:268:269:270:271:272:273:274:275:276:277:278:279:280:281:282:283:284:285:286:287:288:289:290:291:292:293:294:295:296:297:298:299:300:301:302:303:304:305:306:307:308:309:310:311:312:313:314:315:316:317:318:319:320:321:322:323:324:325:326:327:328:329:330:331:332:333:334:335:336:337:338:339:340:341:342:343:344:345:346:347:348:349:350:351:352:353:354:355:356:357:358:359:360:361:362:363:364:365:366:367:368:369:370:371:372:373:374:375:376:377:378:379:380:381:382:383:384:385:386:387:388:389:390:391:392:393:394:395:396:397:398:399:400:401:402:403:404:405:406:407:408:409:410:411:412:413:414:415:416:417:418:419:420:421:422:423:424:425:426:427:428:429:430:431:432:433:434:435:436:437:438:439:440:441:442:443:444:445:446:447:448:449:450:451:452:453:454:455:456:457:458:459:460:461:462:463:464:465:466:467:468:469:470:471:472:473:474:475:476:477:478:479:480:481:482:483:484:485:486:487:488:489:490:491:492:493:494:495:496:497:498:499:500:501:502:503:504:505:506:507:508:509:510:511:512:513:514:515:516:517:518:519:520:521:522:523:524:525:526:527:528:529:530:531:532:533:534:535:536:537:538:539:540:541:542:543:544:545:546:547:548:549:550:551:552:553:554:555:556:557:558:559:560:561:562:563:564:565:566:567:568:569:570:571:572:573:574:575:576:577:578:579:580:581:582:583:584:585:586:587:588:589:590:591:592:593:594:595:596:597:598:599:600:601:602:603:604:605:606:607:608:609:610:611:612:613:614:615:616:617:618:619:620:621:622:623:624:625:626:627:628:629:630:631:632:633:634:635:636:637:638:639:640:641:642:643:644:645:646:647:648:649:650:651:652:653:654:655:656:657:658:659:660:661:662:670:671:672:673:674:675:676:677:678:679:680:681:682:683:684:685:686:687:688:689:690:691:692:693:694:695:696:697:698:699:700:701:702:703:704:705:706:707:708:709:710:711:712:713:714:715:716:717:718:719:720:721:722:723:724:725:726:727:728:729:730:731:732:733:734:735:736:737:738:739:740:741:742:750:751:752:753:754:755:756:757:758:759:760:761:762:763:764:765:766:767:768:769:770:771:772:773:774:775:776:777:778:779:780:781:782:783:784:785:786:787:788:789:790:791:792:793:794:795:796:797:798:799:800:801:802:803:804:805:806:807:808:809:810:811:812:813:814:815:816:817:818:819:820:821:822:823:824:825:826:827:828:829:830:831:832:833:834:835:836:837:838:839:840:841:842:843:844:845:846:847:848:849:850:851:852:853:854:855:856:857:858:859:860:861:862:863:864:865:866:867:868:869:870:871:872:873:874:875:876:877:878:879:880:881:882:883:884:885:886:887:888:889:890:891:892:893:894:895:896:897:898:899:900:901:902:903:904:905:906:907:908:909:910:911:912:913:914:915:916:917:918:919:920:921:922:923:924:925:926:927:928:929:930:931:932:933:934:935:936:937:938:939:940:941:942:943:944:945:946:947:948:949:950:951:952:953:954:955:956:957:958:959:960:961:962:963:964:965:966:967:968:969:970:971:972:973:974:975:976:977:978:979:980:981:982:983:984:985:986:987:988:989:990:991:992:993:994:995:996:997:998:999:1000:1001:1002:1003:1004:1005:1006:1007:1008:1009:1010:1011:1012:1013:1014:1015:1016:1017:1018:1019:1020:1021:1022:1023:1024:1025:1026:1027:1028:1029:1030:1031:1032:1033:1034:1035:1036:1037:1038:1039:1040:1041:1042:1043:1044:1045:1046:1047:1048:1049:1050:1051:1052:1053:1054:1055:1056:1057:1058:1059:1060:1061:1062:1063:1064:1065:1066:1067:1068:1069:1070:1071:1072:1073:1074:1075:1076:1077:1078:1079:1080:1081:1082:1083:1084:1085:1086:1087:1088:1089:1090:1091:1092:1093:1094:1095:1096:1097:1098:1099:1100:1101:1102:1103:1104:1105:1106:1107:1108:1109:1110:1111:1112:1113:1114:1115:1116:1117:1118:1119:1120:1121:1122:1123:1124:1125:1126:1127:1128:1129:1130:1131:1132:1133:1134:1135:1136:1137:1138:1139:1140:1141:1142:1143:1144:1145:1146:1147:1148:1149:1150:1151:1152:1153:1154:1155:1156:1157:1158:1159:1160:1161:1162:1163:1164:1165:1166:1167:1168:1169:1170:1171:1172:1173:1174:1175:1176:1177:1178:1179:1180:1181:1182:1183:1184:1185:1186:1187:1188:1189:1190:1191:1192:1193:1194:1195:1196:1197:1198:1199:1200:1201:1202:1203:1204:1205:1206:1207:1208:1209:1210:1211:1212:1213:1214:1215:1216:1217:1218:1219:1220:1221:1222:1223:1224:1225:1226:1227:1228:1229:1230:1231:1232:1233:1234:1235:1236:1237:1238:1239:1240:1241:1242:1243:1244:1245:1246:1247:1248:1249:1250:1251:1252:1253:1254:1255:1256:1257:1258:1259:1260:1261:1262:1263:1264:1265:1266:1267:1268:1269:1270:1271:1272:1273:1274:1275:1276:1277:1278:1279:1280:1281:1282:1283:1284:1285:1286:1287:1288:1289:1290:1291:1292:1293:1294:1295:1296:1297:1298:1299:1300:1301:1302:1303:1304:1305:1306:1307:1308:1309:1310:1311:1312:1313:1314:1315:1316:1317:1318:1319:1320:1321:1322:1323:1324:1325:1326:1327:1328:1329:1330:1331:1332:1333:1334:1335:1336:1337:1338:1339:1340:1341:1342:1343:1344:1345:1346:1347:1348:1349:1350:1351:1352:1353:1354:1355:1356:1357:1358:1359:1360:1361:1362:1363:1364:1365:1366:1367:1368:1369:1370:1371:1372:1373:1374:1375:1376:1377:1378:1379:1380:1381:1382:1383:1384:1385:1386:1387:1388:1389:1390:1391:1392:1393:1394:1395:1396:1397:1398:1399:1400:1401:1402:1403:1404:1405:1406:1407:1408:1409:1410:1411:1412:1413:1414:1415:1416:1417:1418:1419:1420:1421:1422:1423:1424:1425:1426:1427:1428:1429:1430:1431:1432:1433:1434:1435:1436:1437:1438:1439:1440:1441:1442:1443:1444:1445:1446:1447:1448:1449:1450:1451:1452:1453:1454:1455:1456:1457:1458:1459:1460:1461:1462:1463:1464:1465:1466:1467:1468:1469:1470:1471:1472:1473:1474:1475:1476:1477:1478:1479:1480:1481:1482:1483:1484:1485:1486:1487:1488:1489:1490:1491:1492:1493:1494:1495:1496:1497:1498:1499:1500:1501:1502:1503:1504:1505:1506:1507:1508:1509:1510:1511:1512:1513:1514:1515:1516:1517:1526:1527:1528:1529:1530:1531:1532:1533:1534:1535:1536:1537:1538:1539:1540:1541:1542:1543:1544:1545:1546:1547:1548:1549:1550:1551:1552:1553:1554:1555:1556:1557:1558:1559:1560:1561:1562:1563:1564:1565:1566:1567:1568:1569:1570:1571:1572:1573:1574:1575:1576:1577:1578:1579:1580:1581:1582:1583:1584:1585:1586:1587:1588:1589:1590:1591:1592:1593:1594:1595:1596:1597:1598:1599:1600:1601:1602:1603:1604:1605:1606:1607:1608:1609:1610:1611:1612:1613:1614:1615:1616:1617:1618:1619:1620:1621:1622:1623:1624:1625:1626:1627:1628:1629:1630:1631:1632:1633:1634:1635:1636:1637:1638:1639:1640:1641:1642:1643:1644:1645:1646:1647:1648:1649:1650:1651:1652:1653:1654:1655:1656:1657:1658:1659:1660:1661'
'30:31:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:48:49:50:51:52:53:54:55:56:57:58:59:60:61:62:63:64:65:66:67:68:69:70:71:72:73:74:75:76:77:78:79:80:81:82:83:84:85:86:87:88:89:90:91:92:93:94:95:96:97:98:99:100:101:102:103:104:105:106:107:108:109:110:111:112:113:114:115:116:117:118:119:120:121:122:123:124:125:126:127:128:129:130:131:132:133:134:135:136:137:138:139:140:141:142:143:144:145:146:147:148:149:150:151:152:153:154:155:156:157:158:159:160:161:162:163:164:165:166:167:168:169:170:171:172:173:174:175:176:177:178:179:180:181:182:183:184:185:186:187:188:189:190:191:192:193:194:195:196:197:198:199:200:201:202:203:204:205:206:207:208:209:210:211:212:213:214:215:216:217:218:219:220:221:222:223:224:225:226:227:228:229:230:231:232:233:234:235:236:237:238:239:240:241:242:243:244:245:246:247:248:249:250:251:252:253:254:255:256:257:258:259:260:261:262:263:264:265:266:267:268:269:270:271:272:273:274:275:276:277:278:279:280:281:282:283:284:285:286:287:288:289:290:291:292:293:294:295:296:297:298:299:300:301:302:303:304:305:306:307:308:309:310:311:312:313:314:315:316:317:318:319:320:321:322:323:324:325:326:327:328:329:330:331:332:333:334:335:336:337:338:339:340:341:342:343:344:345:346:347:348:349:350:351:352:353:354:355:356:357:358:359:360:361:362:363:364:365:366:367:368:369:370:371:372:373:374:375:376:377:378:379:380:381:382:383:384:385:386:387:388:389:390:391:392:393:394:395:396:397:398:399:400:401:402:403:404:405:406:407:408:409:410:411:412:413:414:415:416:417:418:419:420:421:422:423:424:425:426:427:428:429:430:431:432:433:434:435:436:437:438:439:440:441:442:443:444:445:446:447:448:449:450:451:452:453:454:455:456:457:458:459:460:461:462:463:464:465:466:467:468:469:470:471:472:473:474:475:476:477:478:479:480:481:482:483:484:485:486:487:488:489:490:491:492:493:494:495:496:497:498:499:500:501:502:503:504:505:506:507:508:509:510:511:512:513:514:515:516:517:518:519:520:521:522:523:524:525:526:527:528:529:530:531:532:533:534:535:536:537:538:539:540:541:542:543:544:545:546:547:548:549:550:551:552:553:554:555:556:557:558:559:560:561:562:563:564:565:566:567:568:569:570:571:572:573:574:575:576:577:578:579:580:581:582:583:584:585:586:587:588:589:590:591:592:593:594:595:596:597:598:599:600:601:602:603:604:605:606:607:608:609:610:611:612:613:614:615:616:617:618:619:620:621:622:623:624:625:626:627:628:629:630:631:632:633:634:635:636:637:638:639:640:641:642:643:644:645:646:647:648:649:650:651:652:653:654:655:656:657:658:659:660:661:662:670:671:672:673:674:675:676:677:678:679:680:681:682:683:684:685:686:687:688:689:690:691:692:693:694:695:696:697:698:699:700:701:702:703:704:705:706:707:708:709:710:711:712:713:714:715:716:717:718:719:720:721:722:723:724:725:726:727:728:729:730:731:732:733:734:735:736:737:738:739:740:741:742:750:751:752:753:754:755:756:757:758:759:760:761:762:763:764:765:766:767:768:769:770:771:772:773:774:775:776:777:778:779:780:781:782:783:784:785:786:787:788:789:790:791:792:793:794:795:796:797:798:799:800:801:802:803:804:805:806:807:808:809:810:811:812:813:814:815:816:817:818:819:820:821:822:823:824:825:826:827:828:829:830:831:832:833:834:835:836:837:838:839:840:841:842:843:844:845:846:847:848:849:850:851:852:853:854:855:856:857:858:859:860:861:862:863:864:865:866:867:868:869:870:871:872:873:874:875:876:877:878:879:880:881:882:883:884:885:886:887:888:889:890:891:892:893:894:895:896:897:898:899:900:901:902:903:904:905:906:907:908:909:910:911:912:913:914:915:916:917:918:919:920:921:922:923:924:925:926:927:928:929:930:931:932:933:934:935:936:937:938:939:940:941:942:943:944:945:946:947:948:949:950:951:952:953:954:955:956:957:958:959:960:961:962:963:964:965:966:967:968:969:970:971:972:973:974:975:976:977:978:979:980:981:982:983:984:985:986:987:988:989:990:991:992:993:994:995:996:997:998:999:1000:1001:1002:1003:1004:1005:1006:1007:1008:1009:1010:1011:1012:1013:1014:1015:1016:1017:1018:1019:1020:1021:1022:1023:1024:1025:1026:1027:1028:1029:1030:1031:1032:1033:1034:1035:1036:1037:1038:1039:1040:1041:1042:1043:1044:1045:1046:1047:1048:1049:1050:1051:1052:1053:1054:1055:1056:1057:1058:1059:1060:1061:1062:1063:1064:1065:1066:1067:1068:1069:1070:1071:1072:1073:1074:1075:1076:1077:1078:1079:1080:1081:1082:1083:1084:1085:1086:1087:1088:1089:1090:1091:1092:1093:1094:1095:1096:1097:1098:1099:1100:1101:1102:1103:1104:1105:1106:1107:1108:1109:1110:1111:1112:1113:1114:1115:1116:1117:1118:1119:1120:1121:1122:1123:1124:1125:1126:1127:1128:1129:1130:1131:1132:1133:1134:1135:1136:1137:1138:1139:1140:1141:1142:1143:1144:1145:1146:1147:1148:1149:1150:1151:1152:1153:1154:1155:1156:1157:1158:1159:1160:1161:1162:1163:1164:1165:1166:1167:1168:1169:1170:1171:1172:1173:1174:1175:1176:1177:1178:1179:1180:1181:1182:1183:1184:1185:1186:1187:1188:1189:1190:1191:1192:1193:1194:1195:1196:1197:1198:1199:1200:1201:1202:1203:1204:1205:1206:1207:1208:1209:1210:1211:1212:1213:1214:1215:1216:1217:1218:1219:1220:1221:1222:1223:1224:1225:1226:1227:1228:1229:1230:1231:1232:1233:1234:1235:1236:1237:1238:1239:1240:1241:1242:1243:1244:1245:1246:1247:1248:1249:1250:1251:1252:1253:1254:1255:1256:1257:1258:1259:1260:1261:1262:1263:1264:1265:1266:1267:1268:1269:1270:1271:1272:1273:1274:1275:1276:1277:1278:1279:1280:1281:1282:1283:1284:1285:1286:1287:1288:1289:1290:1291:1292:1293:1294:1295:1296:1297:1298:1299:1300:1301:1302:1303:1304:1305:1306:1307:1308:1309:1310:1311:1312:1313:1314:1315:1316:1317:1318:1319:1320:1321:1322:1323:1324:1325:1326:1327:1328:1329:1330:1331:1332:1333:1334:1335:1336:1337:1338:1339:1340:1341:1342:1343:1344:1345:1346:1347:1348:1349:1350:1351:1352:1353:1354:1355:1356:1357:1358:1359:1360:1361:1362:1363:1364:1365:1366:1367:1368:1369:1370:1371:1372:1373:1374:1375:1376:1377:1378:1379:1380:1381:1382:1383:1384:1385:1386:1387:1388:1389:1390:1391:1392:1393:1394:1395:1396:1397:1398:1399:1400:1401:1402:1403:1404:1405:1406:1407:1408:1409:1410:1411:1412:1413:1414:1415:1416:1417:1418:1419:1420:1421:1422:1423:1424:1425:1426:1427:1428:1429:1430:1431:1432:1433:1434:1435:1436:1437:1438:1439:1440:1441:1442:1443:1444:1445:1446:1447:1448:1449:1450:1451:1452:1453:1454:1455:1456:1457:1458:1459:1460:1461:1462:1463:1464:1465:1466:1467:1468:1469:1470:1471:1472:1473:1474:1475:1476:1477:1478:1479:1480:1481:1482:1483:1484:1485:1486:1487:1488:1489:1490:1491:1492:1493:1494:1495:1496:1497:1498:1499:1500:1501:1502:1503:1504:1505:1506:1507:1508:1509:1510:1511:1512:1513:1514:1515:1516:1517:1526:1527:1528:1529:1530:1531:1532:1533:1534:1535:1536:1537:1538:1539:1540:1541:1542:1543:1544:1545:1546:1547:1548:1549:1550:1551:1552:1553:1554:1555:1556:1557:1558:1559:1560:1561:1562:1563:1564:1565:1566:1567:1568:1569:1570:1571:1572:1573:1574:1575:1576:1577:1578:1579:1580:1581:1582:1583:1584:1585:1586:1587:1588:1589:1590:1591:1592:1593:1594:1595:1596:1597:1598:1599:1600:1601:1602:1603:1604:1605:1606:1607:1608:1609:1610:1611:1612:1613:1614:1615:1616:1617:1618:1619:1620:1621:1622:1623:1624:1625:1626:1627:1628:1629:1630:1631:1632:1633:1634:1635:1636:1637:1638:1639:1640:1641:1642:1643:1644:1645:1646:1647:1648:1649:1650:1651:1652:1653:1654:1655:1656:1657:1658:1659:1660:1661'
'2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:48:49:50:51:52:53:54:55:56:57:58:59:60:61:62:63:64:65:66:67:68:69:70:71:72:73:74:75:76:77:78:79:80:81:82:83:84:85:86:87:88:89:90:91:92:93:94:95:96:97:98:99:100:101:102:103:104:105:106:107:108:109:110:111:112:113:114:115:116:117:118:119:120:121:122:123:124:125:126:127:128:129:130:131:132:133:134:135:136'
'1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:48:49:50:51:52:53:54:55:56:57:58:59:60:61:62:63:64:65:66:67:68:69:70:71:72:73:74:75:76:77:78:79:80:81:82:83:84:85:86:87:88:89:90:91:92:93:94:95:96:97:98:99:100:101:102:103:104:105:106:107:108:109:110:111:112:113:114:115:116:117:118:119:120:121:122:123:124:125:126:127:128:129:130:131:132:133:134:135:136:137:138:139:140:141'
'1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:48:49:50:51:52:52A:53:54:55:56:57:58:59:60:61:62:63:64:65:66:67:68:69:70:71:72:73:74:75:76:77:78:79:80:81:82:82A:82B:82C:83:84:85:86:87:88:89:90:91:92:93:94:95:96:97:98:99:100:100A:100B:100C:101:102:103:104:105:106:107:108:109:110:111:112:113:114:115:116:117:118:119:120:121:122:123:124:125:126:127:128:129:130:133:134:135:136:137:138:139:140:141:142:143:144:145:146:147:148:149:150:151:152:153:154:156:157:162:163:164:165:166:167:168:169:171:172:173:174:175:176:177:178:179:180:182:183:184:185:186:187:188:189:190:191:192:193:194:195:196:197:198:199:200:203:205:206:207:208:209:210:211:212:213:214:215:216:217:218:219:220:221:222:225:226:227'
'1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:48:49:50:51:52:52A:53:54:55:56:57:58:59:60:61:62:63:64:65:66:67:68:69:70:71:72:73:74:75:76:77:78:79:80:81:82:82A:82B:82C:83:84:85:86:87:88:89:90:91:92:93:94:95:96:97:98:99:100:100A:100B:100C:101:102:103:104:105:106:107:108:109:110:111:112:113:114:115:116:117:118:119:120:121:122:123:124:125:126:127:128:129:130:133:134:135:136:137:138:139:140:141:142:143:144:145:146:147:148:149:150:151:152:153:154:156:157:162:163:164:165:166:167:168:169:171:172:173:174:175:176:177:178:179:180:182:183:184:185:186:187:188:189:190:191:192:193:194:195:196:197:198:199:200:203:205:206:207:208:209:210:211:212:213:214:215:216:217:218:219:220:221:222:225:226:227'
'1:2:3:4:5:6:7:8:9:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:48:49:50:51:52:53:54:55:56:57:58:59:60:61:62:63:64:65:66:67:68:69:70:71:72:73:74:75:76:77:78:79:80:81:82:83:84:85:86:87:88:89:90:91:92:93:94:95:96:97:98:99:100:101:102:103:104:105:106:107:108:109:110:111:112:113:114:115:116:117:118:119:120:121:122:123:124:125:126:127:128:129:130:131:132:133:134:135:136:137:138:139:140:141:142:143:144:145:146:147:148:149:150:151:152:153:154:155:156:157:158:159:160:161:162:163:164:165:166:167:168:169:170:171:172:173:174:175:176:177:178:179:180:181:182:183:184:185:186:187:188:189:190:191:192:193:194:195:196:197:198:199:200:201:202:203:204:205:206:207:208:209:210:211:212:213:214:215:216:217:218:219:220:221:222:223:224:225:226:227:228:229:230:231:232:233:234:235:236:237:238:239:240:241:242:243:244:245:246:247:248:249:250:251:252:253:254:255:256:257:258:259:260:261:262:263:264:265:266:267:268:269:270:271:272:273:274:275:276:277:278:279:280:281:282:283:284:285:286:287:288:289:290:291:292:293:294:295:296:297:298:299:300:301:302:303:304:305:306:307:308:309:310:311:312:313:314:315:316:317:318:319:320:321:322:323'
Basically, i would want to select the first row, which is 153....282 and then select the 3rd row which is 30...1661 and repeat this process for all other rows accordingly. From there i would like to then insert those data into an array.
The source of these data are from a PostgreSQL database which i have imported into my workspace.
Is this possible to do?
If I understand correctly, this should work:
output = data([1 3],:);
This selects the 1st and 3rd rows of data, and adds them to a new variable called output. To select every odd row, use the colon notation and the end keyword, like this:
output = data(1:2:end, :);
This starts at the first row selects every 2nd row until the end.
One solution would be to dump it all to a text file and then use importdata() which will allow you to specify the delimiter character, as in data = importdata(file.txt,':'). This will give you a MATLAB array data full of numbers, which you can then process as you please.
Let's assume that after you import your data, it is a cell array of strings, called A (this is what it appears to be in your question, because of the single quotes on each line).
First, let's get rid of the the letters appearing in the data, since we probably want just the numbers. We do this with a regular expression replacement:
A = cellfun(#(x) regexprep(x, '[^\d:]', ''), A,'UniformOutput',0);
Next, we use the strread function to parse each line into an array of integers
B = cellfun(#(x) strread(x, '%d:', -1), A, 'UniformOutput',0);
Now each element of B is the array form of the corresponding element of A. So you can get the 3rd row, for example with
B{3}

Resources