CSE/Array Functions

Many of my spreadsheets rely on the array functions, sometimes referred to as CSE (Control-Shift-Enter) functions in Excel. A good example from one of my sheets would be:
AVERAGE(IF(B2:B25=$F$3,H2:H25))
Somewhat like an AVERAGEIF function if you will...
I was quite disheartened to see all of my CSE functions not properly performing when opened in Numbers. Does anyone know of an alternate command in Numbers to get these to work? Or are CSE functions not supported at all?

the java.util.Array and infact the Collections classes are only available since jdk1.2
Browsers have built-in support only for jdk1.1 To use Java 2 classes in applets, the target machine must have the JRE plugin. You will also need to run your html file through HTMLConverter. This will direct the browser to use the plugin. Also, if the user does not have the plugin, it will prompt him to download it.

Similar Messages

  • Is there any way to create a circular buffer using the INSERT ARRAY function?

    I saw the example using the REPLACE ARRAY function, but it uses too much CPU power on my laptop. I'm using it for a very sensitive application and saw that the INSERT ARRAY function used much less CPU power.
    I am also not wiring the index on the INSERT ARRAY function so that whatever is read from the buffer is added to the array.
    However, since it is not indexed, I don't know how to set the "write" index back to 0 when it reaches a certain sized array (ie 1000 elements). I was looking for an array property node, but couldn't figure out if one exists for the "current write index".
    Can anyone help?
    Thanks

    I will try to answer this question to my best understanding. I apologize if I interpreted the question wrong.
    You are using the "Insert Array" vi without wiring the index. By doing that, new elements will be added (appended) to the array.
    If you just want to know the current index to stop your acquisition when the array reach certain amount of elements, then you can use the "Array Size" vi to keep track of the size of the growing array. Remember that Array Size = last index + 1 because the index start at zero.
    A second option is that you may want to start over the array when it hits the maximum number of elements that you will allow. If that's the case, then you may want to re-initialize the array to a NULL state by stablishing a condition (for example, when the
    size of the array is 1000, re-initialize). I provided an example attached to this message showing how this can be accomplished. In the example, an 1D array grows in size using the "Insert Array" vi and inserting a random number. When the array reach 4 elements, it is re-initialized. You can expand this example by saving the array first to a file or some other holder before re-initializing the array. The example is in LabVIEW 6.
    Finally, if you want to replace the current values with new values, I think you do not have other choice but to use the "Replace Array" vi.
    Hope this can be of help.
    Regards;
    Enrique Vargas
    www.vartortech.com
    Attachments:
    array_example.vi ‏20 KB

  • How to change the elements number in Number To Boolean Array Function VI

    Hi, I'm working on using the DAQ digital output to control the digital input of a DAC, and I used the Number To Boolean Array Function. VI to convert the number to a Boolean array. The maximum number should be 4096, therefore it should consist of 12 elements.
    For the description of the VI, it says Boolean array returns an array of 8, 16, 32, or 64 elements, depending on the number of bits in the integer. Therefore, I change the number of the channels in task to 16, but it still doesn't work. Any suggesitions are greatly appreciated.
    Thanks!
    Possible reason(s):
    Write cannot be performed, because the number of channels in the data does not match the number of channels in the task.
    When writing, supply data for all channels in the task. Alternatively, modify the task to contain the same number of channels as the data written.
    Number of Channels in Task: 12
    Number of Channels in Data: 32
    Task Name: _unnamedTask<1B>
    Solved!
    Go to Solution.
    Attachments:
    DAC test.vi ‏47 KB

    Once you have the boolean array, you can resize it using array tools. For example you can use "reshape array" with a lenght of 12 to trim the array to 12 booleans elements (you can also use array subset).
    LabVIEW Champion . Do more with less code and in less time .

  • Unexpected behavior of spreadsheet string to array function

    Hello,
    I found some weirdness in LabVIEW 2011 that I do not understand. In the attached vi, I provide a one-dimensional spreadsheet string separated by spaces. I use the spreadsheet string to array function to convert this spreadsheet string into an array of strings.
    I ran into problems when I wanted to specify a space character as the delimiter.
    The conversion works as intended, if I do not specify a delimiter (i.e., the default tab delimiter is used). But if I specify the delimiter, only the first element of the spreadsheet string is converted. I do not understand this behavior.
    Thanks for your help.
    Peter
    Solved!
    Go to Solution.
    Attachments:
    Test spreadsheet string to array.vi ‏9 KB

    You don't have spaces in your string. You have tabs and of course the default delimiter works. Right click and select '\' Codes Display and see the \t.

  • How to avoid Build Array function inside a For (while) Loop?

    Hi there,
    I have a simple question about how to avoid using Build Array function inside the loop. Now I want to remove the Build Array funtion inside the loop to improve the performance (To get better memory management). Any idea how to do that?
    Thanks a lot!
    Warmest regards,
    Chong

    It's been my experience that using the auto-indexing to build an array
    on a For loop is just as good as initializing and replacing elements.
    The For loop knows before it runs how many iterations it has to run and
    can allocate the array ahead of time.
    You're better off initializing and replacing when using a While loop
    because it does not know how many iterations it will run and can't
    pre-allocate the array ahead of time.
    Ed
    Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
    Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.

  • Question regarding functional​ity of "Sear​ch 1D Array Function&q​uot; in TCP/IP context

    In the attached tcp_Registry.vi, the vi uses the "Search 1D Array Function".  I can't figure out why this function can't find the index of the input element, since the inputs to the function match...
    Solved!
    Go to Solution.
    Attachments:
    tcpInstrument.llb ‏238 KB
    tcp_registry_error_2Jun09.zip ‏435 KB

    I was a bit surprised this morning by the fact that the Initialize vi worked, so I decided, "What the heck?" I'll try the "LCLSA Wave Save To File.vi" again, as I haven't been able to get this one working without errors for the past few months.  And, magically, it worked!  I didn't believe it, so I ran it again - and it worked again!  I still didn't think this was true, so I ran a slightly modified vi I made, "LCLSA Wave Save To File_looped.vi", which just repeats the vi for multiple iterations to create multiple data files.  And this worked, too!  I have NO idea why today everything seems to be fine - I've seriously had issues with the stuff for at least 3 months.  However, I'm just going to go with the flow and see if I can now implement this stuff in my own application now and will let you know how that goes.
    A quick question - do you have any suggestions as to how to view the data files properly?  I believe they come out as binary, but look like mumbo-jumbo when viewed in a text editor like WordPad.  Thanks!
    Attachments:
    3Jun09 Files.zip ‏2 KB

  • How can I perform the LINEST function using the new version of Numbers? The old method of using "command enter" to complete the array function does not work. Please help ASAP!!!

    LINEST function using Numbers for Mac

    Thank you for your help. This page is somewhat helpful, but I still don't quite understand.  I am using the Numbers program, and my assignment calls for me to use the LINEST function to return a set of 10 values. 
    When I googled how to do this, a lot of pages mentioned hitting "command+enter" to complete the array function, but they were using an older version of Numbers and it doesn't do anything when I try it in the new version.  I tried using "Index" with LINEST, and i've managed to get about 5 values out of it.

  • Insert into array function

    Hello,
    How can I add an element to a specific location of an array (row 3 and column 4 for example)?  I can only wire one index input into Insert Into Array function.  
    Thanks 

    If you're trying to replace an existing element, then you should use Replace Array Subset, not Insert Into Array.
    You cannot insert a single element into a 2-D array, because LabVIEW doesn't know how to shift the rest of the array to account for the gap that would appear if you were to do that. If you actually want to insert (and not replace), into a 2D array, then you need to insert an entire row or column, not a single element.

  • Array functions on non-double numbers

    Hey everyone,
    Sorry for another newbie question, coming from Labview has spoiled me  Is there a way to use the Array Operations functions on float numbers?  If not, can anyone recommend a Boost like library that is C based that will handle floats?
    Thanks,
    Austin

    I suppose you are referring to array functions from the Analysis library: unfrtunately those functions are limited to treat doubles only. I don't know of any alternative for floats or doubles: for the simpler of them you may want to create your own equivalent in a for loop; for more complex functions you can create a temporary array of doubles and use ConvertArrayType function to exchange data to and from it before and after calling the array function.
    Depending on other functions you are using into your application, you can consider promotinig all of your arrays to double and use them: PC are now plenty of memory to use and very fast CPU frequency so it could be a feasible solution.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Cascade two Build Array functions - what happens?

    I found the the code shown in the attachment in a very complex VI that I am overhauling.  Would someone explain to me what is happening with the "cascaded" Build Array functions.
    I can see that the first Build Array function builds a 1D array of integers which passes to the second Build Array function which outputs a 2D array of integers but, since there is no Element or second Array input, I don't see how this works.
    This is part of a subVI that is not embedded in a loop.
     All the examples have at least two inputs.  With one input there is no Concatenate Inputs option. There is some implicit operation here that I do not understand.
    Would someone explain how this works? 
    Solved!
    Go to Solution.
    Attachments:
    Cascade two build array functions.PNG ‏7 KB

    You are taking a scalar value and creating a 1-D array with exactly 1 element.
    Then you are taking the 1-D array and building it into a 2-D array, with exactly 1 element.
    Since you can't concatenate something with nothing, the only logical mode for the Build Array would be to build it into an array of the next larger dimension.
    You could add a third one, then you'd have a 3-D array with exactly 1 element.  And so on.

  • Implace Array Functions

    Is there or can anyone provide me with a document that lists each array function and whether it executes implace or not implace? I know about the ini setting to show implaceness dots but I was wondering if there is a centralized document or list or maybe a website. Any info would be appreciated.
    BJD1613
    Lead Test Tools Development Engineer
    Philips Respironics
    Certified LV Architect / Instructor

    Hello,
    I have been looking around for a simple list that shows clearly which array functions will allocate a new buffer in memory. Unfortunately, the answer is not as cut-and-dry as that. For a good reference concerning memory allocation caused by using arrays and their functions, there is a very good knowledge base already written that you may like to take a look at. It has a zip file attached that contains four VIs that illustrate different memory issues. It also has links to other sites that give more general information about when LabVIEW has to create new buffers and provide attached tools to monitor memory allocation in your VIs. I hope that this helps. Here is the main link (knowledge base 36PF8BHV). It can also be found by going to our web pa
    ge, www.ni.com/support.
    http://ae.natinst.com/operations/ae/public.nsf/fca7838c4500dc10862567a100753500/e8a0389569877b1186256e46007a616e?OpenDocument
    I'm sorry that I was not able to find you exactly what you wanted. I hope that this at least helps. Take care and have a great day!
    Aaron B.
    National Instruments

  • Array / Function Scoping issue

    Hi All,
    Can someone confirm this please?
    If I declare an array in a function, is that array only available / accessible in the scope of that function?  That is, does it have a local scope to the function only?
    I ask because I am unable to access values in the array outside of the defining function.
    As an example:
    function myFunction () {
         //other code e.g. specifying length of array, etc
    for (i=0; i<myArray.length; i++) {
         myArray[i] = currentValue + i;
         //other code
    trace (myArray); // undefined is showing up here.
    Do I have to do something like this inside the function to make the values available to the root and other functions?
    _root.myArrayGlobal = myArray; // inside the function
    trace (myArrayGlobal); //this then appears to work outside of the function
    I just want to confirm to ensure the only issue I'm having is a scoping one.
    If so is this the “best practice” way to do it?
    Thank you
    Best Regards
    Chris

    Yes, declaring a variable within a function give it scope only within that function. To remedy your problem just declare it outside the function, not inside (and since you don't show actually declaring it, just in case, always declare using "var").
    var myArray = new Array();
    function myFunction () {
         //other code e.g. specifying length of array, etc
    for (i=0; i<myArray.length; i++) {
         myArray[i] = currentValue + i;
         //other code
    trace (myArray); // undefined is showing up here.

  • How to use array function?

    I want to create a array with the data are in the table (one or more than one field).
    By using function makearray or array, it can create the array with one record
    e.g.
    Local  stringvar Array x := MakeArray ({CASES.ASSIGNTO});
    ubound(x);
    the result will be 1, means only one record is in the Array x.
    Actually, I want to get all records of the field CASES.ASSIGNTO.

    Hello Kent,
    You can't just assign all field values to an array, the formula needs to process each record in the details section and assign the record to the array. Here is a sample formula that would assign all countries to an array;
    WhilePrintingRecords;
    stringvar array t;
    numbervar x;
    x:= x + 1;
    redim preserve t[x];
    t[x]:= {Customer.Country};
    t[x]
    If you need the completed array available in the main report before the Report Footer then you would need to use a subreport in the Report Header to generate the array and then using a shared variable pass it back to the main report.
    Also note that an array is limited to 1000 elements so if there is a possibility of the number of records exceeding 1000 you will need to create more than 1 array and depending on the value of the counter assign the records greater than 1000 to the second array

  • Migrating array functions from AS2 to AS3

    The code below is meant to load randomly selected "koan swfs" into a movie clip on the main root timeline called "koan_loader_mc" using a loader called "koan_loader."  Are the actions of this array correctly migrated to AS3?  Thanks for your help
    // creates function called at the end of koan_#.swfs  
    // this code is in the first frame of the root timeline
    Array.prototype.shuffle = function() {
    for (var ivar = koan.length-1; ivar>=0; ivar--) {
    var p = random(ivar+1);
    var t = this[ivar];
    this[ivar] = this[p];
    this[p] = t;
    MovieClip(root).index=0;
    var koan_loader:Loader = new Loader();
    var koan:Array =["swfs/koans/koan_1.swf","swfs/koans/koan_2.swf", "swfs/koans/koan_3.swf", "swfs/koans/koan_4.swf", "swfs/koans/koan_5.swf", "swfs/koans/koan_6.swf", "swfs/koans/koan_7.swf", "swfs/koans/koan_8.swf", "swfs/koans/koan_9.swf", "swfs/koans/koan_10.swf", "swfs/koans/koan_11.swf", "swfs/koans/koan_12.swf"];
    koan.shuffle();
    koan_loader.load(new URLRequest(koan[index]));
    MovieClip(root).koan_loader_mc.addChild(koan_loader);
    This is the code in a frame at the end of koan swfs:
    MovieClip(root).index++
    if(root.index>_root.koan.length-1){
    root.index=0;
    root.koan.shuffle();
    var koan_loader:Loader = new Loader();
    koan_loader.load(new URLRequest(koan[root.index]);
    MovieClip(root).koan_loader_mc.addChild(koan_loader);
    loadMovie(_root.koan[root.index]);

    function shuffle(a:Array) {
    for (var ivar = a.length-1; ivar>=0; ivar--) {
    var p = random(ivar+1);
    var t = a[ivar];
    a[ivar] = a[p];
    a[p] = t;

  • Need help with an array function

    I'm using the array index function and i would like to be able to control what elements go out on it.  For example, if i wanted only the first element to go out, i don't want the second element to send out zero.  Is there any way i can control what elements leave the array index function.  I also don't understand what the index inputs do on that function either.  If anyone has any advice on the application or can modify it in any way, please help.
    Attachments:
    Array and for loop.vi ‏1190 KB

    The index inputs determine what elements are retrieved. For example of you would wire a 10 and a 20 to your two index inputs, you would bet element #10 and element #20 of your array. You can resize it to get any desired number of elements.
    If you don't wire the index inputs, you'll get the first two elements.
    If you only wire the top index input (e.g a 10), you'll get element #10 and #11.
    LabVIEW Champion . Do more with less code and in less time .

Maybe you are looking for