ribonyarouさんの意見を取り入れさせてもらい、回答させていただきます。
今回のコードの場合、C列(URLがある列)は必要ないかと思いますので削除していただいて構いません。(残しても大丈夫かと思いますが)
また、今回のコードはすべてC列を削除した場合のコードで書いています。
ほかにも注意点として以下に2つのコードを記載しますが、別々に作成してください。(作成しないとデプロイIDが記載できません。)
以下のコードはQRコードを表示させる用のデータです。
//QRコードを表示させる用のコード
const deployID = "もう一つのコードをデプロイして得られたデプロイIDを記載"
var sht = SpreadsheetApp.getActive().getSheetByName('固定資産');
function bihinlabel(){//質問中のコード
var lastRow = sht.getLastRow();
sht.getRange(3,3,lastRow-2,1).clear();//ここで範囲をクリアする
for (var i=3; i<=lastRow; i++) {
var qrc1 = 'https://script.google.com/macros/s/'+deployID+'/exec?no='+i //行番号をNoとして格納しておく
var qrc2 = '=image("https://chart.apis.google.com/chart?chs=250x250&cht=qr&chl='+qrc1+'")';//QRコードを作成
sht.getRange(i,3).setValue(qrc2);//QRコードをC列に表示(D列の場合は(i,3)を(i,4)にする)
};
}
続いてQRコードを読み込んだ際のデータです。
このコードはまた新しいGASにて記入・デプロイしてください。
function doGet(e) {
const shtURL = "スプレッドシートのURLを記載"
const sht = SpreadsheetApp.openByUrl(shtURL).getSheetByName('固定資産');
const Row = e.parameter.no//URLに格納された行番号を取得
const today = Utilities.formatDate(new Date(),"Asia/Tokyo","yyyy/MM/dd");//今日をOOOO年OO月OO日の形で取得
let observer = Session.getActiveUser().getEmail();//QRコードを読み取った人のIDを取得
if(!observer){//Chromeなどが使用されていないときはメールアドレスが取得できない(iPhoneSafariなど)ため、見つからない場合は不明と記載する
observer = "不明です。"
}
const Data = sht.getRange(Row,1,1,10).getValues();//QRコードがある行一列分のデータを取得
const EquipmentID = Data[0][0];//行の一列目(A列)を取得
const EquipmentName = Data[0][1];//行の二列目(B列)を取得
const EquipmentModel = Data[0][5];//行の6列目(F列)を取得
sht.getRange(Row,4,1,2).setValues([[today,observer]])//日付・読み取った人のメールアドレスをシートに記載
let html = '';//HTMLで画面に表示
html += '<h1>備品内容</h1>';
html += `<p><h2>備品ID: ${EquipmentID}</h2></p>`;
html += `<p>備品名: ${EquipmentName}</p>`
html += `<p>型番:${EquipmentModel}</p>`
return HtmlService.createHtmlOutput(html);
}
私の使用環境では稼働できることが確認できています。
もし何かわからない際は返信していただけると幸いです。
追記:
何度も修正して申し訳ないです。