質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

解決済

関数内で参照用に使っているシート名を特定のセルの文字+任意の文字で書きたい

ony
ony

総合スコア13

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

1回答

0リアクション

0クリップ

178閲覧

投稿2022/10/03 07:06

編集2022/10/04 04:47

前提

使用中シート名
[閲覧リスト] B列にa・b・cすべてのリスト(A列には分類としてa・b・cとLEFT関数で抽出済み)
[a_ID] 文字列先頭がaのリスト
[b_ID] 文字列先頭がbのリスト
[c_ID] 文字列先頭がcのリスト

=IFERROR(IMAGE(INDEX(a_ID!D:D,MATCH(B3,a_ID!E:E,0))),"No Image")

[閲覧リスト]内で上記の関数を使いイメージを取得できるようにしている(ここまではできている)

[閲覧リスト]B3の文字列と[A_ID]E:E内の文字列がマッチしたらa_IDのD:DにあるイメージURLを取得
という感じです

現状
分類Aには< a_ID!D:D ><a_ID!E:E >
分類Bには< b_ID!D:D ><b_ID!E:E >
分類Cには< c_ID!D:D ><c_ID!E:E >
を手動で入れているのですが

a~zまで増え、リストに追加も入るので毎度手動でやるのが困難になってきました

実現したいこと

**やりたいことは
[閲覧リスト]B列の関数内 < a_ID!D:D ><a_ID!E:E >のa_IDのaの部分を
[閲覧リスト]A列から取得し自動化したい

イメージ的にはA1&"_ID"みたいな感じなのですが シートを指定する文字列になってはくれず困っております

関数についてベーシックがわかってないもので…
どなたかご教授願えますでしょうか?
よろしくお願いします

以下わかりやすいよう書き直しいたしました

シート[a_ID]
・シートはa~zまで各シートがあります。シート[b_ID][c_ID]....[z_ID]
・各シートにGoogleDriveにある画像フォルダ内の画像名(aXXXX.jpg)とそのURLを
Apps Scriptで抽出
・フォルダ内に画像が追加されるたびにかAppsScriptで手動更新
(例:Driveのbフォルダに画像を追加→AppsScriptでシートb_IDを更新)

A列 抽出したJPG名
D列 抽出した画像URL
E列 A列をSUBSTITUTE関数で.jpgを抜いたファイル名

A列D列E列
1a15849.jpgURLa15849
2a35482.jpgURLa35482
3a89541.jpgURLa89541
4a84223.jpgURLa84223

シート[閲覧リスト]
B列はシート[a_ID]で増えたファイル名を手動で入れています
A列はB列の頭文字をLEFT関数を使って抽出してます

A列B列C列<画像を表示>
1aa15849IFERROR(IMAGE(INDEX(a_ID!D:D,MATCH(B3,a_ID!E:E,0))),"No Image")
2aa68547IFERROR(IMAGE(INDEX(a_ID!D:D,MATCH(B3,a_ID!E:E,0))),"No Image")
3bb87912IFERROR(IMAGE(INDEX(b_ID!D:D,MATCH(B3,b_ID!E:E,0))),"No Image")
4bb52483IFERROR(IMAGE(INDEX(b_ID!D:D,MATCH(B3,b_ID!E:E,0))),"No Image")
5bb95472IFERROR(IMAGE(INDEX(b_ID!D:D,MATCH(B3,b_ID!E:E,0))),"No Image")
6cc45866IFERROR(IMAGE(INDEX(c_ID!D:D,MATCH(B3,c_ID!E:E,0))),"No Image")
7cc78542IFERROR(IMAGE(INDEX(c_ID!D:D,MATCH(B3,c_ID!E:E,0))),"No Image")

やりたいこと
シート[閲覧リスト]で
B列にファイル名を入れると
A列は自動で頭文字を表示します。
そんな感じで
B列にファイル名を入れると
C列の関数内の小文字アルファベット部分がA列の小文字アルファベットとに自動で置き換わってほしい
です。

ご教授お願い致します。

Apps Scriptを使用はしていますが
コピペして書き換えただけのズブの素人なもので…
関数もろくにわかっておりません

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

qnoir

2022/10/03 13:50 編集

①各IDの具体的なフォーマットについて教えてください。 質問で例示されている「a_ID,b_ID,...」は、具体的には ・末尾は「_ID」で固定、 ・先頭の部分はa012345、b025462 のような小文字アルファベット1文字+文字列 ②「やりたいこと」に書かれている内容を言い換えると ・現状、[a_ID][b_ID]...[z_ID]の各シートに、追加や削除や修正が入るたびに、[閲覧リスト]内のデータを書き換えないといけない →これに手間がかかっているので、 [a_ID][b_ID]...[z_ID]の各シートからa_,b_...z_の部分を取り出して、[閲覧リスト]シートに反映させる、という処理を自動化したい ということかなと思ったのですが、この理解であっておりますでしょうか。 ③ 御所望の処理についてですが、純粋な関数だけを使って行うのは難しいと思われ、Google Apps Script(プログラム)の使用が前提となると考えます。それでも構わないでしょうか。
ony

2022/10/04 04:10

qnoir様 ご記入ありがとうございます。 分かりづらくて申し訳有りませんでした ①はいそのとおりです ②たぶん仰っていることと同じだと思うのですが… もう少しわかりやすく書き直しました 回答は解答欄に入力しましょうと書いてあるので解答欄に書かせて頂きます なにぶん使い慣れていないもので…すみません

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。