アレルギー対策、自宅でできる効果的な方法とは?

以下のような流れでリストを表示したいのですが、下記のしたい事と問題点をクリアする方法はありませんでしょうか?因みにマクロなど複雑すぎる方法以外でご教示頂けましたら助かります!

【流れ】
⑴大元の店舗リスト

⑵別シートに抜粋した主要店舗名とリストNo.

⑶主要店舗名を別の列でプルダウンで任意選択表示

※⑴は新店舗追加のみ。リストは減る事はありません。
※⑵は主要店舗なのでリストの増減はあります。

【やりたい事】
・⑵の主要店舗を増減させる事があっても、楽にプルダウンリストに反映させたい。

・空白セルはプルダウンリストに表示させない。

・出来れば⑴大元のリストを追加すると、⑵→⑶へ自動反映されるようにしたい。


【やってみた問題点】
・⑵をセル範囲ではなく、列範囲でテーブル化にし、⑶の列の入力規則を…
入力値の種類→リスト、
元の値→テーブル名、
空白無視&ドロップダウンリストから選択のチェックはそのまま、
…にしてみたところ、混在している空白セルがプルダウンメニューに表示されてしまいます。

・⑴の変更が⑵→⑶でオート反映させられるように、リストNo.を検索値としてVLOOKUPで⑴から店舗名を表示させる。
表示させた店舗名列のリストをテーブル化 → ⑶の列へ前述の問題点と同様の入力規則を設定しようとするも、数式が入っているためかエラーになってしまいます。


以上、どうか解決方法をお教え下さいますようお願いいたします!m(__)m

質問者からの補足コメント

  • Chicken55様、ご回答頂きありがとうございます!
    実際に検証できるPCが会社にしかなく、充分に検証できる時間もあまりないので、以下の点を更に教えて頂けましたら助かります。

    ・リストへ項目追加となった時(リスト範囲例、B1:B20→B1:B35)、入力規則の範囲修正が必要でしょうか?出来れば入力規則の修正不要で、主要店舗項目の増減をしても入力規則に自動反映させたいのです。因みに、B1:B20→B:Bと列指定してはリスト最後以降の空白があると上手く空白非表示には出来ないのでしょうか?

    ・主要店舗リストの途中の店舗をリストから外したい場合、セル毎削除すれば、入力規則のリストの範囲修正の手間も不要で、また空白セルがリストに表示されてしまう心配もありませんでしょうか?

    No.3の回答に寄せられた補足コメントです。 補足日時:2017/07/11 09:17
  • CoalTar様
    ご回答頂きありがとうございます!
    まだオフセット関数、ワイルドカードなるものは使った事がありませんが、ご教示頂いた内容で、希望の挙動になりそうな感じです!

    No.4の回答に寄せられた補足コメントです。 補足日時:2017/07/13 08:55

A 回答 (3件)

主要店舗のリスト途中に空白セルが無い、という前提で


リストがB1:B20までの範囲の20件分
A1の入力規則で、リストの元の値に
=OFFSET(B1,,,20-COUNTBLANK(B1:B20),1)
と入力すれば、空白セルを除いたドロップダウンリストが出来ます。
動的に更新もされますが、リストの途中に空白セルがあるとうまく動きません。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとう

一番詳しくご教示頂けたChicken55様を、僭越ながらベストアンサーとさせていただきます。

お礼日時:2017/07/20 03:47

入力規則のリストで


=OFFSET($B$1,,,COUNTIF($B:$B,"?*"))
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとう

結論からお伝えしますと、私のやり方が悪いのか上手くいきませんでした。
プルダウンで選択したい場所がひとつのセルではなく、一列全部の各セルで指定リストの項目を選べるようにする事なのですが、同シート上のリストを選択しても、またリスト専用のシートを作ってみてもエラーになってしまいました…

ご回答頂きありがとうございました。
確認に時間がかかり申し訳ありませんでした;

お礼日時:2017/07/18 19:15

そういう込み入った処理はVBAでやった方が簡単なんですが・・・



欲を言えばAccess等と連携させてGUIを充実させて、とか思います。
    • good
    • 0
この回答へのお礼

ありがとう

エクセル初心者のため、VBAなど高度な方法は無理ですが…おいおい勉強できたらと思います;
アドバイス頂きありがとうございます。

お礼日時:2017/07/11 08:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qエクセルで三つの条件での参照する方法。 お世話様です。 コード 項目 7月 8月 9月 10月 11

エクセルで三つの条件での参照する方法。
お世話様です。

コード 項目 7月 8月 9月 10月 11月 12月
1234 野菜 8 11
9876 肉類 5 4
小計 5 8 11 4
2345 魚類 12 8
3456 麺類 1 6
小計 1 6
合計

このようなデータがあります。
コードは1000くらいあります。
小計も100くらいあります。

別シートにこれよりも項目が多い表があります。
この表に上記データを反映させたいです。

作業列を作りコードと項目を&で合体させ
ます。
それを検索値とし、別シートの7月の列にvlookup関数にします。
コードの列をフィルタ掛けし小計、合計を非表示にします。
貼り付け。

これを月別に貼り付けしようと思います。
他に効率良い方法ありますか?
言葉足らずな点は補足します。
よろしくお願いいたします。

エクセルで三つの条件での参照する方法。
お世話様です。

コード 項目 7月 8月 9月 10月 11月 12月
1234 野菜 8 11
9876 肉類 5 4
小計 5 8 11 4
2345 魚類 12 8
3456 麺類 1 6
小計 1 6
合計

このようなデータがあります。
コードは1000くらいあります。
小計も100くらいあります。

別シートにこれよりも項目が多い表があります。
この表...続きを読む

Aベストアンサー

素朴な確認をば。
小計行の数値 5、8、11、4 はどのセルとどのセルとの小計になっているの?
「あれは、単に書いたまでで、実はデタラメ!」なんて言わないでネ。回答者は真剣なので。

Qエクセルの関数で

以下の算式を満たすエクセルの関数を教えていただけないでしょうか。

セルA1(①) セルA2(②) セルA3(③) セルA4(④) セルA5(⑤)


③=①-②
④=③÷② 小数点3位未満切り捨て
⑤ ④が0.05超の場合  0.09+((④-0.05)×0.3  (上限0.1) 小数点3位未満切り捨て
④が0.05以下の場合 0.09-((0.05-④)×0.1  (下限0.06) 小数点3位未満切り捨て


ここの⑤を満たす式を教えてください。

例えば①531,116,991②646,729,949のとき⑤は0.067となります。

よろしくお願いいたします。

Aベストアンサー

0.05超の場合の式…⑥
0.05以下の場合の式…⑦
IF(④>0.05,IF(⑥>0.1,ROUNDDOWN(⑥,×),0.1),IF(⑦<0.06,0.06,ROUNDDOWN(⑦,×)))

×部分はうろ覚えです、小数点第三位なら「3」…ですかね…?

以上でどうでしょう

Qコピー&ペーストではなく数式やエクセルの機能を使ってデータを反映させたい。

下記の「表①」のエクセルデータを、「表②」に反映させたいです。
「表②」のB3セルに、数式を入れて、「表①」のログイン・ログオフ時刻を「表②」へ
自動反映させたいのですが、どのような式を入れたらいいかがわかりません。

現状は、目視とコピー&ペーストで表①→表②へ貼りつけていますが、
スタッフの数が多いのとシフト勤務で出勤日数も時間もバラバラで、作業が大変です。

また、早くて正確なら他の方法でもいいです。
よろしくお願いします。


表①
A B C D E
1 氏名 日付 ログイン 日付 ログオフ
2 田中 舞子 2017/5/16 8:21:35 2017/5/16 17:34:38
3 田中 舞子 2017/5/17 8:22:40 2017/5/17 17:35:00
4 田中 舞子 2017/5/18 8:28:02 2017/5/18 17:35:55
5 田中 舞子 2017/5/19 8:22:09 2017/5/19 17:34:18
6 田中 舞子 2017/5/22 8:18:03 2017/5/22 17:33:13
7 三田 建造 2017/5/23 8:19:55 2017/5/23 17:39:44
8 三田 建造 2017/5/25 8:21:03 2017/5/25 17:38:04
9 三田 建造 2017/5/26 8:17:45 2017/5/26 17:31:54
10 三田 建造 2017/5/29 8:19:42 2017/5/29 17:32:39
11 三田 建造 2017/5/30 8:20:12 2017/5/30 17:33:26
12 牧 重三 2017/5/31 16:18:33 2017/5/31 23:31:36
13 牧 重三 2017/6/1 16:20:08 2017/6/1 23:35:33
14 牧 重三 2017/6/2 17:18:35 2017/6/2 23:41:05
15 牧 重三 2017/6/5 15:20:00 2017/6/5 23:31:54
16 牧 重三 2017/6/6 19:22:05 2017/6/6 23:41:14
17 長岐 知美 2017/6/7 8:25:48 2017/6/7 17:34:38
18 長岐 知美 2017/6/8 8:26:24 2017/6/8 17:36:52
19 長岐 知美 2017/6/9 8:26:01 2017/6/9 17:34:08
20 長岐 知美 2017/6/12 8:19:24 2017/6/12 17:32:02
21 篠田 亜紀 2017/5/21 8:19:14 2017/5/21 17:32:29
22 柿田 輝未 2017/5/28 7:34:55 2017/5/28 17:17:54
23 荒元 耕平 2017/6/4 7:32:49 2017/6/4 17:32:50
24 佐田 容子 2017/6/11 8:18:35 2017/6/11 17:41:05
25 藤島 澄人 2017/6/12 8:25:15 2017/6/12 17:59:55
26 藤島 澄人 2017/6/13 8:45:31 2017/6/13 17:41:06
27 藤島 澄人 2017/6/14 8:05:34 2017/6/14 17:28:14
28 藤島 澄人 2017/6/15 8:13:25 2017/6/15 17:30:24


表②
   A B C D E F G
1 田中 舞子 三田 建造 牧 重三 ・・・・
2 日付 ログイン ログオフ ログイン ログオフ ログイン ログオフ
3 2017/5/16 B3
4 2017/5/17
5 2017/5/18
6 2017/5/19
7 2017/5/20
8 2017/5/21
9 2017/5/22
10 2017/5/23
11 2017/5/24
12 2017/5/25
13 2017/5/26
14 2017/5/27
15 2017/5/28
16 2017/5/29
17 2017/5/30
18 2017/5/31
19 2017/6/1
20 2017/6/2
21 2017/6/3
22 2017/6/4
23 2017/6/5
24 2017/6/6
25 2017/6/7
26 2017/6/8
27 2017/6/9
28 2017/6/10
29 2017/6/11
30 2017/6/12
31 2017/6/13
32 2017/6/14
33 2017/6/15

下記の「表①」のエクセルデータを、「表②」に反映させたいです。
「表②」のB3セルに、数式を入れて、「表①」のログイン・ログオフ時刻を「表②」へ
自動反映させたいのですが、どのような式を入れたらいいかがわかりません。

現状は、目視とコピー&ペーストで表①→表②へ貼りつけていますが、
スタッフの数が多いのとシフト勤務で出勤日数も時間もバラバラで、作業が大変です。

また、早くて正確なら他の方法でもいいです。
よろしくお願いします。


表①
A B ...続きを読む

Aベストアンサー

表①のB列ですが、シリアル値「2017/5/16 8:21:35」を表示形式で「2017/5/16」と表示していませんか?もしそうであればNGです。B2セルは時刻の部分をゼロにしてください。

2人ログオンする日がある件ですが、残念ながら、この方式では実現できません。
No.1 chonamiさんの案が一番簡単そうです。たぶん、こんな感じを想定していると思われます。

【B3セル】=SUMIFS(表①!$C:$C,表①!$A:$A,B$1,表①!$B:$B,$A3)
※C3セルは、上記を参考にご自分で考えてみて下さい。

QExcel 違うシートのセルの合計した数字をまた違うシートにだしたい><

こんにちは!

Excelの使い方がわからずに
困っています

たくさんスタッフがいて
個人(名前)ごとにシートがわかれて
半年分の売上げがあります
日付 売上
2016年12月
2017年1月
2017年2月
2017年3月
2017年4月
2017年5月
2017年6月

この半年間の売上の合計を
別のシートに全員分まとめてだしたいのです

名前 売上
田中
佐藤
鈴木
山田

説明不足ですみません

わかる方いらっしゃいましたら
よろしくお願いします><

Aベストアンサー

No.4・5です。

前回書き忘れたのですが、画像の配置だとC3セルの数式は
=SUM(INDIRECT(B3&"!B:B"))

としなければなりません。
結局C3セルの数式は
=SUM(今野!B:B)
と同じ意味の数式になります。
これをフィルハンドルで下へコピーするとC4セルは
=SUM(野村!B:B)

のように変化していきます。m(_ _)m

QEXCELで複数の表からの集計

ある製品αは複数のUNIT(A~C)で構成され、各UNITは複数の部品(あ~お)で構成されるとします。
添付画像のような製品、UNIT構成の場合に製品αを構成する部品数はどのように集計すればよいのでしょうか。

Aベストアンサー

No.8です。

>表に空欄があっても問題ないのでしょうか?

もちろん空白があっても問題ないはずです。
前回の画像の配置で、行方向・列方向にはいくらデータがあっても対応できます。
ただ投稿後思ったのですが、
D列「PART」のデータが各「UNIT」にすべて存在すれば問題ないのですが、
D列データが「UNIT」の中に存在しない!というコトはないですよね?
そうであれば前回のコードで大丈夫なのですが、万一「UNIT」にない場合のエラー処理のために
↓のコードに変更してみてください。

Sub Sample2() '//この行から//
Dim i As Long, k As Long, lastRow As Long
Dim c As Range, r As Range
lastRow = Cells(Rows.Count, "D").End(xlUp).Row
If lastRow > 2 Then
Range(Cells(3, "E"), Cells(lastRow, "E")).ClearContents
End If
For i = 3 To Cells(Rows.Count, "A").End(xlUp).Row
Set c = Rows(2).Find(what:=Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
For k = 3 To Cells(Rows.Count, "D").End(xlUp).Row
Set r = Columns(c.Column).Find(what:=Cells(k, "D"), LookIn:=xlValues, lookat:=xlWhole)
If Not r Is Nothing Then '//←追加★//
With Cells(k, "E")
.Value = .Value + r.Offset(, 1) * Cells(i, "B")
End With
End If '//←追加★//
Next k
Next i
End Sub '//この行まで//

※ 「★」の行を追加しただけです。
「UNIT」にD列データがない場合の処理を追加しました。m(_ _)m

No.8です。

>表に空欄があっても問題ないのでしょうか?

もちろん空白があっても問題ないはずです。
前回の画像の配置で、行方向・列方向にはいくらデータがあっても対応できます。
ただ投稿後思ったのですが、
D列「PART」のデータが各「UNIT」にすべて存在すれば問題ないのですが、
D列データが「UNIT」の中に存在しない!というコトはないですよね?
そうであれば前回のコードで大丈夫なのですが、万一「UNIT」にない場合のエラー処理のために
↓のコードに変更してみてください。

Sub Sample2() '//この行...続きを読む

QExcel 2段組み

縦長の表を2段組みとしたいのですが、下記の条件があります。
Excelで作成することは可能でしょうか。
可能でしたら方法を教えていただけないでしょうか。
よろしくお願いいたします。

①縦長の表を2段組みとしたい。
②表内で並び替えが可能としたい。
③2段組み内の1段の行を削除した場合に空きが出た1段部分に
2段部分のデータが自動で繰り上がるようにしたい。
(例えば2017年1月を削除した場合に2017年8月が自動で繰り上がるようにしたい。)



子供が小さいのでご連絡が遅くなる可能性がありますが、ご回答いただけた方には必ずお返事を致します。
よろしくお願いいたします。

Aベストアンサー

こんばんは!

① は画像のような配置ではなく、最初はA~F列だけにデータが羅列してある。
というコトですよね?
それをA~F列は7か月分だけにし、残りはG~L列に移動させたい!という解釈です。

② の「表内での並び替え」とはどの列がキーになるかが判りません。
これに関しては手作業で範囲指定 → 並び替え というコトが可能だと思いますので、今回はスルーします。

③ は仮にA~F列の1か月分(複数ヶ月でも)データを消去した場合にA~F列は上詰め、
G~L列は上詰めした月数分を繰り上げてA~F列に移動させる!という解釈です。

VBAになりますが一例です。
↓のSample① が「①」、Sample③ が「③」のコードになります。

Dim i As Long, cnt As Long
Dim lastRow1 As Long, lastRow2 As Long
Dim myRng1 As Range, myRng2 As Range
Sub Sample①()
If WorksheetFunction.CountIf(Range("A:A"), "小計") > 7 Then
Range("A1").Resize(, 6).Copy Range("G1")
lastRow1 = Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To lastRow1
If Cells(i, "A") = "小計" Then
cnt = cnt + 1
If cnt = 7 Then Exit For
End If
Next i
Range(Cells(i + 1, "A"), Cells(lastRow1, "F")).Cut Cells(Rows.Count, "G").End(xlUp).Offset(1)
lastRow1 = 0
cnt = 0
End If
End Sub

Sub Sample③()
If WorksheetFunction.CountIf(Range("A:A"), "小計") < 7 Then
lastRow1 = Cells(Rows.Count, "A").End(xlUp).Row
lastRow2 = Cells(Rows.Count, "G").End(xlUp).Row
For i = 2 To lastRow2
If Cells(i, "G") = "小計" Then
cnt = cnt + 1
If cnt = 7 - WorksheetFunction.CountIf(Range("A:A"), "小計") Then Exit For
End If
Next i
Range(Cells(2, "G"), Cells(i, "L")).Cut Cells(lastRow1 + 1, "A")
Set myRng1 = Range(Cells(2, "A"), Cells(lastRow1, "A")).SpecialCells(xlCellTypeBlanks)
Set myRng2 = Range(Cells(2, "G"), Cells(lastRow2, "G")).SpecialCells(xlCellTypeBlanks)
myRng1.Resize(, 6).Delete shift:=xlUp
myRng2.Resize(, 6).Delete shift:=xlUp
lastRow1 = 0
lastRow2 = 0
cnt = 0
End If
End Sub

※ 「小計」までが各月の最終行と見なしています。
すなわち「小計」の数で行数を決めています。m(_ _)m

こんばんは!

① は画像のような配置ではなく、最初はA~F列だけにデータが羅列してある。
というコトですよね?
それをA~F列は7か月分だけにし、残りはG~L列に移動させたい!という解釈です。

② の「表内での並び替え」とはどの列がキーになるかが判りません。
これに関しては手作業で範囲指定 → 並び替え というコトが可能だと思いますので、今回はスルーします。

③ は仮にA~F列の1か月分(複数ヶ月でも)データを消去した場合にA~F列は上詰め、
G~L列は上詰めした月数分を繰り上げてA~F列に移動...続きを読む

Qエクセルで特定の数字だけ勝手に変換されてしまいます

エクセル2010で48,609.793と入力するのですが
入力後のセルを見てみると48,609.792999999と
勝手に変換されてしまいます。
48,609.792や48,609.794ではそのままなのですが
なぜなのでしょうか?
計算上で入力した数値を使用したく困っています。

Aベストアンサー

10進数をコンピュータ内部では2進数の形で保持することによる誤差だそうです。
なるべくこの誤差が出ないようにExcelは工夫されているそうですが、
特定の数字を入力すると「99999…」が現れるのだとか。
この質問を見て調べるまで全然知りませんでした。
https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_other/excel/bbaaa7f0-5e73-4d7c-aa05-6709a3357d26
https://support.microsoft.com/ja-jp/help/813530

計算式には数字を丸める関数を入れると対処できると思います。
ROUNDやROUNDUP関数で引数を3にしてみてください。
http://kokoro.kir.jp/excel/round.html

Qエクセルで自動で同じ文字と数字をセルに貼り付ける事は出来るでしょうか? 例えば A1○ B1□ C1

エクセルで自動で同じ文字と数字をセルに貼り付ける事は出来るでしょうか?

例えば
A1○ B1□ C1 20枚 と入力したら
○□が一つのセルに20枚自動入力出来るようにしたいです。

数量がかなりあるため出来るだけ自動にしたいので、お手数ですが教えて頂けませんか。

Aベストアンサー

添付図参照

QExcelで2つの行を1つにするには?

Excelで2つの行を1つにするにはどうしたらよいでしょうか?

A ○
A   ○
B ○
B      ○

というデータを

A ○ ○
B ○    ○

という形にしたいです。

1行に○は1つで、同じ名前(AやB)であれば、位置も重複するものはありません。
しかし、全部で1万行近くあるため、関数等でまとめることができればと思います。

説明が下手で申し訳ありませんが、何か方法があれば教えてください。
よろしくお願いします。

Aベストアンサー

ちょっと違った方法なので(マニュアル操作です)、興味があればお読みください。
「データ」タブの「総合」機能を使うものです。

集計元データが、Sheet1のA~Dにあるとします。
まず、空白のシート(Sheet2)のA1セルを選択した状態で、「データ」タブの「総合」を選択し、画像のように設定して、OKをクリックしてみて下さい。
すると、A列の値毎に○の数が集計されるので、1→〇に置き換えれば完成です。

Q入力文字を逆さに

写真のようにA1~A4の入力文字をA5~A8に逆さにして入力する方法を教えてください。
エクセル2010と2013を使用しています。
よろしくお願いいたします。

Aベストアンサー

こんなのはどうでしょうか。
「セルの書式設定」-「配置」で、文字列の方向を90度、および、-90度にします。

ちなみに、F1~I1は、A1~D1を数式で参照します。参照順番はお好きなように変更してください。
さらに云うなら、品名や生産日?の一覧を別途作成して、画像の印刷用シートは、それを参照するようにした方が、入力も楽ですね。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報