• ベストアンサー

スプレッドシートのプルダウンリスト

Googleスプレッドシートで、プルダウンリストを作成する際、同じ列内で同じ選択肢を使用できないようにしたいです。 例えば、リストに、りんご,ぶどう,みかん,バナナとあり、 一度りんごを選択して入れば、次のリストには、ぶどう,みかん,バナナのみが表示される、といった内容です。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2015
  • ベストアンサー率49% (258/524)
回答No.2

Excel添付図を参照してください。 E1:E5に元リストが入っているとします。 A1:C1にプルダウンリストで入力するとします。 (1).F2に↓の式を入れ、F5までコピーします。  =IF(COUNTIF($A$1:$C$1,E2),"",E2) (2).A1:C1のデータの入力規則の条件にF2:F5を設定します。 これで出来上がりですが、一度選択したセル(A1:C1)を触ると無効な値が入っているとして警告されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

Googleでもエクセルでも、質問のままの設定はないだろう。 ーー そこで、エクセルVBAでやってみた。 Sheet1のF列(どこの列でもよいが、セルの削除でデータの位置が崩れるので、他にこのF列を使わないこと)に a b c d e f g h i j とアイテムを入れておく。 ーー Sheet1のA列の入力規則でA1:A10を、データーデータの入力規則ーリストー =$F$1:$f$10ーOK Sheet1のChangeイベントに Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("A1:A10"), Target) Is Nothing Then MsgBox "A列データ" Application.EnableEvents = False x = Target r = Range("F1:F10").Find(x).Row MsgBox "F列の" & r & "行にあり" Range("F" & r).Delete Application.EnableEvents = True End If End Sub を入れる。確認用なので、テストが終わればMsgbox行は削除のこと。 これでA列の入力規則を使うと、だんだんと、今まで使ったアイテムはリストに出なくなっていくだろう。 もしトラブったら標準モジュールに下記を作って実行する。 Sub test01() Application.EnableEvents = True End Sub 質問者の発想の通りをVBAにしたが、際物(キワモノ)のような気がする。 ーー Gogleスプレッドソートの、Google Apps Scriptプログラミングではどうなるか、勉強するのもたいへんだ。お勧めしない。 ーー その他に (1)COUNTIFで2件目以降に、入力規則のしくみで、同じ値が選択されたらエラーにする。 (2)アイテムの値を数字化して、ダブらないようにセルに数字で入力しておいて、入力完了後別列に、VLOOKUP関数で元のアイテムに戻す。 数字の方がダブりのチェックがしやすいと思うから。 などの方法を、使ってはどうか。

  • skydaddy
  • ベストアンサー率51% (388/748)
回答No.1

B1: =if(countif(A1:A4,"りんご")=0,りんご,"") B2: =if(countif(A1:A4,"ぶどう")=0,ぶどう,"") B3: =if(countif(A1:A4,"みかん")=0,みかん,"") B4: =if(countif(A1:A4,"バナナ")=0,バナナ,"") B1~B4に上記の式を入れ、A1~A4を選択するリストを設定すると、選ばれた選択肢がB列のセルに表示されなくなるのでリストから消えます。

関連するQ&A

  • googleスプレッドシートのプルダウンについて

    googleのスプレッドシートでプルダウンリストを作成し プルダウンから選択し入力するようにしているのですが、 絶対にプルダウンから選択させる方法はありますでしょうか。 googleのヘルプには ・リストに含まれているアイテムの入力のみ許可するには、[無効なデータの場合] で [入力を拒否] を選択します。 とあり、プルダウンできるセルに直接リストと異なるものを入力した場合は拒否できるのですが、 全く関係ない文字の入っているセルや空白セルをコピーしてプルダウンできるセルに貼り付けた場合 プルダウンごと上書きされてしまい自由に編集できてしまいます。 何かしらの設定でこういうことを回避できるのでしょうか。 ご存知の方、教えていただけると幸いです。よろしくお願いいたします。

  • スプレッドシートのプルダウンリスト

    お世話になります。 スプレッドシートでプルダウンリストの設定をしたいのですが 「有効な範囲を設定してください」とでてきて、次に進めません。 (1)セル範囲に、A列を選択しています (2)条件の左側を「リスト範囲で指定」にしています。 (3)条件の右側を、ここがプルダウンリストに指定したい値を入れる箇所かと思うのですが「食費,日曜消耗品費,子供費,医療費」と入力しています。 リストの各項目の間は、半角のカンマでくぎっています。 そのうえで保存を押すと 上記のとおり「有効な範囲を設定してください」となります。 条件の右側の四角枠(データを入力するところ)が赤くなるので ここになんらかの間違いがあるのではないかと思います。 ですが調べてみても、ちゃんとカンマでくぎっていますし、スペースとかないですし なにがいけないのかがわかりません。 どなたか、ご親切な方、教えてくださいまし。

  • Accessでテーブルの文字列フィールドを連結する

    次のようなフィールドが2列のデータがあります。 1:りんご 1:みかん 1:バナナ 2:みかん 2:ぶどう 3:りんご 3:バナナ それを 1:りんご、みかん、バナナ 2:みかん、ぶどう 3:りんご、バナナ とクエリーでまとめたいのですが どのようにしたらよろしいでしょうか?

  • スプレッドシートでデータの入力規則からリスト選択す

    スプレッドシートでデータの入力規則からリスト選択すれば行の色が全て以下の色になるように設定したいのですがやり方がわかりません。 どなたかわかる方お願い致します! リストは以下の3つ ・りんご ・バナナ ・いちご りんごを選択したらその行は全て赤になる バナナを選択すればその行は全て黄色になる いちごを選択すればその行は全て青になる

  • スプレッドシート

    スマートフォンアプリのスプレッドシートでプルダウンリストを作成したいのですがどなたかやり方がわかる方お願いします。 pcでプルダウンリストを作成しても反映されませんでした。

  • 入力規則のリストボックス

    エクセルの入力規則でリストボックスを使って選択したいのですが その時に、数字のみを抽出する方法はないですか? 例えば 1:りんご 2:みかん 3:バナナ をリストから選択する時、番号のみが表示されるように したいのです。 リストにはその番号がどれに該当するかわかるように りんご、みかん、バナナという内容も表示させたいのです。 よろしくお願いします。

  • 【Excel】プルダウンリストを作成して項目に値を関連付けるには

    初めて投稿させて頂きます。 現在、Excel2003を使用し簡単な経費・収支管理表を 作成しようとしています。 その際に、入力の手間や計算間違いを 避けるためにプルダウンリストを作成し、 そのリストの各項目に数値を関連付け、 自動計算をする際に、セルには文字を表示したまま その関連付けた値を計算して計を出したいのですが、 やり方をご存知な方がおりましたら教えて頂けないでしょうか? やりたい事としては、まず入力規則等で作成した 下記の商品プルダウンリストが有るとします。 ---------------- ■商品リスト [商品名] みかん りんご イチゴ すいか めろん ---------------- その各商品へ価格を関連付け ---------------- ■リスト [商品名] [価格] みかん  100 りんご  150 イチゴ  260 すいか  420 めろん  540 ---------------- エクセルで表示する際に、 以下の様にしたいです。 ---------------- [商品名] [個数] [計] みかん▼  2   \200 りんご▼  1   \150 イチゴ▼  3   \780 すいか▼  1   \420 めろん▼  0   \0 ---------------- よろしくお願い致します。

  • エクセルで選択した項目をマークする方法

    SheetBで選んだ項目を、SheetAの該当する項目の隣の列の四角を □から■になるように、数式を組みたいのです。 ・SheetA       A列  B列 1行目  □   りんご 2行目  □   みかん 3行目  □   ぶどう という表を作成しております。 SheetB       A列                                    B列 1行目  選択する果物を、B列のリストボックスより選んでください   {りんご,ぶどう、みかん} シートB列の (1,B)は、リストボックスで簡単に出来るのですが、 シートAの、(3、A)の、ぶどうを□から■にする方法がわからないのです。 当然、ぶどうの次に、りんごが選ばれれば、ぶどうは□、りんごを■にしたいのです。 解決方法をご存知の方がいらっしゃいましたら ご教授のほう宜しくお願いします。

  • 行と列の条件に一致したら印を付けたい

    シート1に名前と商品のリストがあります 名前 商品 佐藤 りんご 佐藤 みかん 佐藤 ぶどう 加藤 みかん 山本 バナナ 山本 みかん 小林 りんご 小林 ぶどう 小林 みかん 小林 バナナ シート2の行に名前、列に商品名の表があり、シート1のリストを元に 行と列の条件に一致した箇所に印をつけたいのですが、 何か適当な関数はありますでしょうか? りんご みかん ぶどう バナナ 佐藤 加藤 山本 小林

  • excel vba リストアップ?

    超初心者です。 テキストファイルからEXCELへデータを取り込み、ある列のデータより項目を抽出し、コンボボックスへリストアップしたいです。    A列 1.りんご     コンボボックス内に 1.りんご      1.りんご 1.りんご      2.みかん 2.みかん   →  5.なし   2.みかん      10.ぶどう 5.なし        と表示させたい 10.ぶどう 10.ぶどう  ・  ・ なお、A列のデータは毎回変動します。 A列のデータには頭に数字がついており、事前に昇順で並べ替えて あります。 現在、ループを使い、1列ごとに抽出していますが 動作時間の短縮を図りたくて修正しているところです。 ループを使わず、一度に処理できる方法があれば教えてください。 説明がわかりづらいときはすみません。。。

専門家に質問してみよう