プロが教える店舗&オフィスのセキュリティ対策術

Excelの関数で
E列に 県名
B4に日付
C4に曜日 が入ってる表で
D列に"⚪"が付いた県名を自動で表示したいのですが……

「Excel 関数について……」の質問画像

A 回答 (7件)

追記、



尚、
コントロール+SHIFT+Enter
の 確定式は、

クリック一発で、
簡単に 壊れ、

理解してないものでは、
何故、何処か、
壊れたか、

すらも 判らない、
等と 言った、
物になり、

修復が 不可能と、
なる所か、

壊れたかすら 判らない、
と、

とんでもなく、
素行の 極端に、
悪い 代物に、
なりますので、

質問者様に 多大な、
迷惑を かけます。


ですので、
出来れば 以降は、
投稿を お控え、
頂ければ、
幸いかと 思いますよ。
    • good
    • 1
この回答へのお礼

助かりました

とても細かく丁寧に教えて下さりありがとうございました。何とかかんとかイメージ通りにいきました。

お礼日時:2019/04/16 10:31

済みません、


此方ですかね?


基本式、
=IFERROR(OFFSET(Sheet1!$A$1,2,LARGE(INDEX((Sheet1!$E4:$Q5="●")*COLUMN(Sheet1!$E$4:$Q$5),,),SUMPRODUCT((Sheet1!$E4:$Q5="●")+0)+1-COLUMN(A1))-1,1,1),"")


先程の ファイルに、
Sheetを 追加して、
記載しておきました。


勿論、
作業列や、コントロール+SHIFT+Enter、
等と 無粋で 
モバイル版では 使えなかったり、
する物は、
一切 不要です。


但の、
Enter 一発で、

式が 確定、
できますよ。


さて、
基本論理は 同じです、

上から 一行づつ、
●が 付いているか、
論理演算で 照合し、

其処に 列連番ナンバーを、
掛け合わせ、

其の行中、
最も 列ナンバーが、
少ないものから、順に、
取り出して、

OFFSET構文で 参照を、
させている だけです。


メモリーを 無駄に、
喰う様な 構文も、
使っていませんし、
2007対応ですので、

タイトな 環境や、
古い マシンでも、

キビキビ 動く、
事でしょう。


さて、
次行の 一覧作成ですが、

式の 記載箇所が、
一行 下がれば、

検査する 着目行も、
Excelの 作用により、

自ずと 下がる、
仕組みです。


ミソは、
LARGE構文 第一因数を、
INDEX( …… ,,)
此の 「……」の、
所に 入れているだけ、

今や 定石です。


如何ですか?

悩むまでもない、
簡単な 構造ですよね、

是非 ご理解、
頂き、

自身で 活用を、
くださいね。


お役に 立てていたなら、
幸いですよ。


尚、
式に付いては、
ご不明点が ありましたら、

其の旨、
お申し付け 頂きたく、
思いますので、

宜しくお 願いします。
「Excel 関数について……」の回答画像6
    • good
    • 1

あぁ、


作業列?

保守性を 問わない限り、
然程も 難しいものでも、
あるまいし、

寧ろ、
基本の「キ」 ですから、

要りませんよ。


基本式、
=IFERROR(IF(SUMPRODUCT((DATE(Sheet2!$A$1:$A$26,MONTH(Sheet2!$B$1:$B$26),DAY(Sheet2!$B$1:$B$26))=DATE($B$1,$B$3,$B4))*(E$3=Sheet2!$E$1:$E$26)*(Sheet2!$D$1:$D$26="○")),"●",""),"")


ファイル、
https://1drv.ms/x/s!AjviygfJDgV_3EWPbG7-hGKVe7f9


尚、
ファイルは 一度、
ローカルに 別名保存し、
其の 保存ファイルを、
扱うように してくださいね、

此の時、
別名保存でないと、
意味が 無いですよ。


さすれば、
閲覧も、編集も、
叶うものと 思います。


さて、
此を使うなら、
ブラックボックスとして 扱わず、
「こんなものだ」とは 見ず、

ちゃんと 理解して、
くださいね。


私達は 作り方を、
お教えしている、
つもりで あって、

下請けの つもりでは、
ないのです、

ご理解くださいね。


ではでは、

基本から。


エクセル論理演算の場合、
戻り値(返される値)は、
TRUE、FALSE、
此の 2値で、

各々、
TRUEは 0以外と、
FALSEは 0と、

演算時に 型不一致が、
あれば、

内部的に 読み替えが、
されます。


基本的に、
こう言ったデータベースからの、
読み出し作業等には、

此の 性質を、
利用します。


さてさてさて、

此の式中の 心臓部、
SUMPRODUCT((DATE(Sheet2!$A$1:$A$26,MONTH(Sheet2!$B$1:$B$26),DAY(Sheet2!$B$1:$B$26))=DATE($B$1,$B$3,$B4))*(E$3=Sheet2!$E$1:$E$26)*(Sheet2!$D$1:$D$26="○"))
では、

Sheet1の、
日付、県名、
其れ等を、
Sheet2の、
日付、県名、
其れ等と 照合し、

該当行を 一行だけ、
見出します。


其の上で 其の行に、
○が 付いているか、
確認し、

付いていれば 1を、
付いていなければ 0を、
返します。


1は TRUEと、
みなされ、
0は FALSEと、
みなされる 訳ですから、

此の 心臓部の、
戻り値のみで、
IF構文が 動作します。


IF構文や IFERROR構文は、
説明 不要ですかね?


如何ですか?
判りますか?
「Excel 関数について……」の回答画像5
    • good
    • 1

凄いなあ。


ここまでの回答者さんは、この説明で何をしたいのか明確に分かるんだ!

・・・
質問文に添付された表の該当する箇所(E4セルからQ12セル)に「●」印をつけたいという事でしょうか。

よく分からないなあ。
質問文の条件をExcelの表にするとこうなるんだ。
「Excel 関数について……」の回答画像4
    • good
    • 1

作業用シートとして、Sheet2、Sheet3 を使います。


1.Sheet2 において、
 ̄ ̄次式を入力したセル E4 を右方にズズーッと(Q列まで)オートフィルした
 ̄ ̄後で、範囲 E4:Q4 を下方にズズーッと(12行目まで)オートフィル
 ̄ ̄=IFERROR(INDEX(Sheet1!$A$3:$Q$3,,SMALL(IF(Sheet1!$E4:$Q4="●",COLUMN($E4:$Q4)),COLUMN(A1))),"")
 ̄ ̄【お断り】上式は必ず配列数式として入力のこと
2.Sheet3 において、
 ̄ ̄D列は空白のまま放置して、式 =D4&" "&Sheet2!E4 を入力したセル E4
 ̄ ̄を右方にズズーッと(Q列まで)オートフィルした後で、範囲 E4:Q4 を下方
 ̄ ̄にズズーッと(12行目まで)オートフィル
3.Sheet1 において、
 ̄ ̄“折り返して全体を表示する”に[書式設定]したセル D4 に
 ̄ ̄式 =SUBSTITUTE(TRIM(Sheet3!Q4)," ","・") を入力した後で、セル D4
 ̄ ̄を下方にズズーッと(12行目まで)オートフィル
    • good
    • 1

こんにちは!



お示しの画像のC列の1セル内に表示したい!というコトでしょうか?
作業用の列を使えば可能かもしれませんが、1セル内に収めるとなると件数が多い場合横長のセルになったり
セル内改行も必要になるかもしれませんね。

そこで別案ですが、別シートの別セルに表示するようにしてみました。
参考程度で・・・

お示しの配置のデータがSheet1にあり、別シート(↓の画像のような配置とします)に表示するとします。

アップした画像ではB4セルに
=IFERROR(INDEX(Sheet1!$E$3:$BB$3,SMALL(IF(Sheet1!$E4:$BB4="○",COLUMN($E1:$BB1)-4),COLUMN(A1))),"")

配列数式なので、Ctrl+Shift+Enterで確定!(←必須★)し
フィルハンドルで列・行方向にコピーしています。

とりあえず、50都道府県分(BB列まで)対応できる数式にしています。

※ 作業列を使わなくてもVBAであれば1セル内に表示可能です。m(_ _)m
「Excel 関数について……」の回答画像2
    • good
    • 1

ifを重ねることでできますがあまりスマートじゃないですね。



●の代わりに件名を入れてあれば 例 D4 =E4;" ";F4;" ";G4;" ";  ...と続けることで県名を入れられます
    • good
    • 1

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