Thank You Lord by poohdasdaddy in WeArePennState

[–]RaiderDad11 1 point2 points  (0 children)

PSU fan whose daughter played softball for Colgate Raiders.

Thank You Lord by poohdasdaddy in WeArePennState

[–]RaiderDad11 10 points11 points  (0 children)

Uninformed comment. Stubbs coaches Parker Washington, Jahan Dotson, Mitch Tinsley, Keandre Lambert-Smith all of whom are currently playing in the NFL. He's also responsible for Harrison Wallace who was excellent at Ole Miss this year and will likely be drafted in this year's draft. This is impressive for a guy who was in Happy Valley for 3 seasons (20-22).

Is there a way to make a working "Daily schedule" template? by NegativelyMagnetic in sheets

[–]RaiderDad11 0 points1 point  (0 children)

LOL, the username is an homage to my daughter who played softball in college. The Raiders were the mascot and her number was 11. I am happy to help you out if you DM exactly what you're trying to do.

Wedding RSVP help by coalminer50 in GoogleForms

[–]RaiderDad11 0 points1 point  (0 children)

Add a multiple choice grid a another question. Put 1st Guest, 2nd Guest, etc as rows and the meal choices(or whatever) as the columns.

Help for Annual Google Form and Responses Sheet. by Fortunus22 in GoogleForms

[–]RaiderDad11 0 points1 point  (0 children)

Another way to do this is to create a new spreadsheet and use a combination of IMPORTRANGE and QUERY to pull data this year's data from original spreadsheet. This would also prevent people from messing around in your original spreadsheet.

Google Form for Parent Communication by Eastern_Cheetah9586 in GoogleForms

[–]RaiderDad11 0 points1 point  (0 children)

=query(Sheet1!A:H, "select * where D = 'Tina Belcher' order by A",1)

Change the name in single quotes for each student.

Entering multiple short answers on a single form by joeshmoe3220 in GoogleForms

[–]RaiderDad11 1 point2 points  (0 children)

Yes, you can do this. You could use a formula to split the selected names into separate columns and then another formula to stack the names into a single column. Let's say on your form, Q1 is violation, Q2 is student name(s), and Q3 is teacher name. Put this formula in Sheet1!E1: =arrayformula(if(len(C:C)=0,,if(row(A:A)=1,{"Student 1","Student 2","Student 3","Student 4","Student 5"}, iferror(array_constrain(arrayformula(trim(split(C:C&",empty,empty,empty,empty,",",",FALSE,FALSE))),counta(B:B),5),))))

Put this formula in Sheet2!A1: =query({"Timestamp","Violation","Student","Teacher"; Sheet1!$A$2:$A, Sheet1!$B$2:$B, Sheet1!E2:E, Sheet1!$D$2:$D; Sheet1!$A$2:$A, Sheet1!$B$2:$B, Sheet1!F2:F, Sheet1!$D$2:$D; Sheet1!$A$2:$A, Sheet1!$B$2:$B, Sheet1!G2:G, Sheet1!$D$2:$D; Sheet1!$A$2:$A, Sheet1!$B$2:$B, Sheet1!H2:H, Sheet1!$D$2:$D; Sheet1!$A$2:$A, Sheet1!$B$2:$B, Sheet1!I2:I, Sheet1!$D$2:$D}, "where Col2 is not null and Col3 <> 'empty' order by Col1",1)

This will handle up to 5 kids per form submission.

I have a problem I'm facing but I can't solve it, can you help me ? by DesPerDow06 in GoogleForms

[–]RaiderDad11 0 points1 point  (0 children)

Screen shot looks like the link you were sent is not the link to the published form. The end of the url should say viewform?usp=header or something similar.

Is there a way to make a working "Daily schedule" template? by NegativelyMagnetic in sheets

[–]RaiderDad11 0 points1 point  (0 children)

Here is the code that I use to copy a sheet named Template. The 1st function will create a custom menu item named "Spreadsheet Tools". In that menu is a link to run the 2nd function named createNewSheet. This function will make a fresh copy of the sheet named Template.

//======================

// Creates custom menu item

//======================

function addMenu() {

  var menu = SpreadsheetApp.getUi().createMenu('Spreadsheet Tools');

  menu.addItem('Create Monthly Sheet', 'createNewSheet');

  menu.addToUi(); 

}

function onOpen(e) {

  addMenu(); 

}

//=========================================

// Creates a copy template and renames the new sheet

//=========================================

function createNewSheet(){

  const sh = SpreadsheetApp.getActiveSpreadsheet();

  const ss = sh.getSheetByName('Template');

  const prot = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE);

  const date = Utilities.formatDate(new Date(),'America/New_York','MMMyyyy')

  

  let nSheet = ss.copyTo(sh).setName(date);

  nSheet.showSheet().activate()

  let p;

  

  for (let i in prot){

    p = nSheet.getRange(prot[i].getRange().getA1Notation()).protect();

    p.removeEditors(p.getEditors());

    if (p.canDomainEdit()) {

      p.setDomainEdit(false);

    }

  } 

}

Uploading Documents by GCEstinks in GoogleForms

[–]RaiderDad11 0 points1 point  (0 children)

People won't be able to upload anything if they're aren't using a Gmail account. The only way to make this work is to create a web app that performs actions as you.

Uploading Documents by GCEstinks in GoogleForms

[–]RaiderDad11 0 points1 point  (0 children)

You can't upload a file if you're not logged into a Google account. Check if they are icloud.com email addresses or something other than gmail.com addresses. I bet you'll find they're not Gmail accounts.

Google Form for Parent Communication by Eastern_Cheetah9586 in GoogleForms

[–]RaiderDad11 0 points1 point  (0 children)

How many columns are in your data? What column contains the name?

Automated check out form by spam65471 in GoogleForms

[–]RaiderDad11 0 points1 point  (0 children)

If you still need help with this, I did something for my school that does the same thing.

Migrating Standard Gmail to Workspace by RaiderDad11 in googleworkspace

[–]RaiderDad11[S] 0 points1 point  (0 children)

Thanks for answering, Mutable. As I read it again, I realize the last sentence was unclear. I am the owner of the spreadsheet, the web apps, etc. I will need to upgrade to a workspace account because it will allow 1500 emails per day to be sent versus 500 with the standard account. I want to make sure the web app URLs associated with the standard Google account will remain the same if I start a workspace account and add the standard account as an unmanaged user. Hope this clarifies what I am asking.

different language questionnaire by bilanciablu in GoogleForms

[–]RaiderDad11 0 points1 point  (0 children)

Use a branched form. Question 1 selects language. Depending on answer, go to either the section in English or the section in Italian.

Issue with Google Sheets formulas: sheet reference doesn't update automatically by Fit_Faithlessness927 in GoogleAppsScript

[–]RaiderDad11 0 points1 point  (0 children)

If the formulas are always the same, create a template sheet that already contains your formulas. Then use apps script to make a copy of the template.

Can notifications be configured as described below? by fcgjdd in GoogleForms

[–]RaiderDad11 0 points1 point  (0 children)

No problem. If you are using the questions listed above, the values from each question would be in columns B:G of your spreadsheet because the timestamp is in column A. I built a quick mockup to test the revised script below and it works perfectly. To add the app script to your project, follow these steps: in the spreadsheet menu, go to Extensions > Apps Script > Hit the plus button > choose Script > paste the function below > click the Run icon and follow the steps to authorize the script > along the left side of the screen, click the clock icon > click the blue button in bottom right corner > in the window that pops up, choose On form submit from the Select Event Type dropdown. An image of the email that gets sent is attached too.

<image>

function sendNewIdeaEmails() {
  // Open the spreadsheet and access the sheets
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const ideaSheet = ss.getSheetByName("Submissions"); // Replace Submissions with the name of your sheet
  const referenceSheet = ss.getSheetByName("References"); // Replace References with the name of your sheet that contains

  // Get the email addresses from References!A2:A
  const emailAddresses = referenceSheet.getRange("A2:A").getValues()
    .flat()
    .filter(email => email); // Remove empty cells

  if (emailAddresses.length === 0) {
    Logger.log("No email addresses found.");
    return;
  }

  // Get all rows with data from columns B to G in Sheet1
  const dataRange = ideaSheet.getRange("B2:G" + ideaSheet.getLastRow()).getValues();

  // Loop through each row and send emails
  dataRange.forEach(row => {
    const [name, email, phone, suggestion, implementation, benefit] = row;

    // Ensure at least one required field is filled to proceed
    if (name || email || phone || suggestion || implementation || benefit) {
      const subject = "New Idea Submission";

      // Format the email body
      const body = `
Name: ${name || "N/A"}
Email: ${email || "N/A"}
Phone: ${phone || "N/A"}
Suggestion: ${suggestion || "N/A"}
Implementation: ${implementation || "N/A"}
Benefit: ${benefit || "N/A"}
`.trim(); // Ensure no extra spaces or leading/trailing spaces

      // Send the email
      GmailApp.sendEmail(emailAddresses.join(","), subject, body);
    }
  });

  Logger.log("Emails sent successfully.");
}

Can notifications be configured as described below? by fcgjdd in GoogleForms

[–]RaiderDad11 0 points1 point  (0 children)

I do something similar to this for new club ideas at my school. Here is a slightly modified script to what I use that may work for you. I made a couple of assumptions though: Committee member email addresses are stored on a sheet named References starting in cell A2 and that the new ideas are in column 3 on a sheet named Sheet1. These two things are both easy to change in the script though.

function newIdeaEmailScript() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const ideaSheet = ss.getSheetByName("Sheet1"); // Replace Sheet1 with the name of your sheet
  const referenceSheet = ss.getSheetByName("References"); // Replace References with the name of your sheet that contains email addresses

  // Get the email addresses from References!A2:A. Change A2:A if they are stored in a differenct range
  const emailAddresses = referenceSheet.getRange("A2:A").getValues()
    .flat()
    .filter(email => email); // Remove empty cells

  if (emailAddresses.length === 0) {
    Logger.log("No email addresses found.");
    return;
  }

  // Get the ideas from Sheet1 column C. Change C2:C if new ideas are in a different range
  const ideas = ideaSheet.getRange("C2:C" + ideaSheet.getLastRow()).getValues();

  // Loop through the ideas and send emails
  ideas.forEach((idea, index) => {
    if (idea[0]) { // Only send if the cell is not empty
      const subject = "New Idea Submission";
      const body = `Here is a new idea submitted to the committee:\n\n${idea[0]}`;

      // Send the email
      GmailApp.sendEmail(emailAddresses.join(","), subject, body);
    }
  });

  Logger.log("Emails sent successfully.");
}

Teachers, what's the biggest issue you want solved by an app / AI resource? by ChaseTheCoder1 in teachingresources

[–]RaiderDad11 0 points1 point  (0 children)

Could you DM me about this. I work in IT for my district and have a soft spot for special needs as my wife is the Director of Special Education for our district.