下記内容について教えて頂きたく書き込みました。
ご回答頂けると幸いです。
日付→ 1日2日3日……
店舗名1〇山本〇
店舗名2佐藤〇〇
.
.
.
.
上記のようなシートで、店舗名が縦に100程ある状態です。
各店舗名横もしくは最終列に、〇が入力されている日付を表示させたいのです。
店舗名1であれば1日・2日…
店舗名2であれば2日・3日…
というように、その店舗の〇が入っている日付だけを判別する方法はないでしょうか?
使用しているのは2010、VBAは初心者ですが多少は扱えます。
現状は目視で数えているんですが、部下の仕事時間をどうにか減らしてあげたく質問させて頂きました。
どうかよろしくお願いします。
No.3ベストアンサー
- 回答日時:
No.2です。
配列数式を言葉で説明しても判りにくいとおもいますので、
↓の画像で説明します。
B5セルに
=B2="○"
という数式を入れ、列・行方向のフィル&コピーすると
「○」のセルは「TRUE」、その他のセルは「FALSE」になります。
次にB8セルに
=B5*COLUMN()
という数式を入れ、列・行方向にフィル&コピー
これで「○」のセルだけに列番号が表示され、その他のセルは「0」となります。
前回の数式
=IFERROR(INDEX(Sheet1!$1:$1,,SMALL(IF(Sheet1!2:2="○",COLUMN(2:2)),COLUMN(A1))),"")
を説明すると
① IFERROR は単にエラー処理で、「○」の数以上列方向にフィル&コピーするとエラー表示になるのでエラーを表示させないため
② INDEX関数で1行目を範囲指定し、その何列目を返すか?という数式です。
③ IF(Sheet1!2:2="○",COLUMN(2:2)) の部分が画像で説明した部分になり
「○」のセルの列番号が取得できます。
④ それをSMALL関数で小さい順に表示させるために
>SMALL(・・・,COLUMN(A1)) ( ←「・・・」の部分が③の数式になります。)
としてTRUEの小さい順に表示しています。
>COLUMN(A1) は数式が入っているセルが 「1」となり、列方向にフィル&コピーするたびに
COLUMN(B1)・COLUMN(C1)・・・と変化しますので
1・2・3・・・となり、これはSMALL関数の何番目か?になります。
※ 別に1行目でなくても COLUMN(A100) でも同じ結果になりますが
面倒なので「1」にしているだけです。
以上のコトを一気に行ったのが前回の配列数式です。
この程度でどうでしょうかね?m(_ _)m
度々のご回答、ありがとうございます。
解説して頂き、すっきりと納得することができました!
SMALLとcolumnを組み合わせてこのような使い方ができるとは目から鱗でした!
本当にご親切にありがとうございます!
No.2
- 回答日時:
こんばんは!
一例です。
↓の画像で説明します。
元データがSheet1にあり、Sheet2に表示させるとします。
Sheet2のB2セルに
=IFERROR(INDEX(Sheet1!$1:$1,,SMALL(IF(Sheet1!2:2="○",COLUMN(2:2)),COLUMN(A1))),"")
配列数式になりますので、Ctrl+Shift+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → B2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り、配列数式になります。
B2セルのフィルハンドルで、列・行方向にコピーすると
画像のような感じになります。m(_ _)m
ご回答ありがとうございます。
まさにイメージしていた通りの結果になり、とても助かりました。
私の説明で意図をご理解頂けた事にも、素晴らしい技術をお伝え頂いた事にも感謝しております。
情けない事ですが、私にはご教示頂いた数式の内容を読み解く事すらできないレベルでした。
厚かましいかとは存じますが、もしお時間があればで構いませんので、なぜこのような結果になるのか、その求め方もご教示頂けると嬉しいです。
今後同じような問題を自分で解決できるように、勉強を重ねていきたいと思います。
No.1
- 回答日時:
入力規則が「日付け数字は二桁+”日”で文字列の末尾」となっていいれば、
right関数で右端3文字を抜き出せば済みます。
更に”日”を削除してvalue評価すれば「大きさ」として認識もできます。
mid関数で、”日”を探してその前の数字を抜き出す方法もありますが、
店舗名に含まれる”日”は区別できず、数字が文字情報であればそれを認識できずに桁数も判断不可。
データー入力はそれを利用編集しやすい様に入力規則を定める事が重要です。
ご質問内容を完全理解できずの想定回答なので、外していたら無視してください。
ご回答ありがとうございます。
お答え頂いた内容は質問の意図とは違ったものの、ご教示頂いた「利用編集しやすいように入力規則を定める」というのはエクセルを扱ううえでとても重要な事だと実感致しました。
早期のご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
EXCEL:特定の文字が入力された日付を表示する方法
Excel(エクセル)
-
本日の日付とマッチした列の値を抽出
Excel(エクセル)
-
対象セル内(複数)が埋まったら文字を表示させたい
Excel(エクセル)
-
-
4
ある列のセルに特定の文字が入っていたら他のセルに決まった文字を入れる
Word(ワード)
-
5
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
6
エクセルで、日付を入力すると、別のセルに文字を自動的に表示させるようにするには。
Excel(エクセル)
-
7
○印がある場合、そこから情報を抽出して上から順に表示
Excel(エクセル)
-
8
日付を入力しカレンダーの該当する日に印をつけたい
Excel(エクセル)
-
9
エクセルで入力のあるセルのみ別シートに表示したい
Excel(エクセル)
-
10
入力規則のリストの文字の大きさも調整したい
Word(ワード)
-
11
Excel ネットワーク上の別ブックの参照
その他(Microsoft Office)
-
12
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
13
エクセルのVBAで日付を検索し転機したい
Visual Basic(VBA)
-
14
データが入力されている隣のセルに当日日付と時刻を入力するExcel VBAプログラム
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列から英数字のみを抽出す...
-
エクセル1行おきのセルを隣の...
-
SUMIF関数で、「ブランク以外を...
-
エクセルで、A2のセルにA3...
-
同一セル内の重複文字を削除し...
-
エクセルに入力後、別シートの...
-
エクセルで、指定の値よりも大...
-
自分の左隣のセル
-
エクセルで年、月をカウントする
-
条件付き書式の色付きセルのカ...
-
Excel 特定の倍数の個数を数え...
-
セルを結合した時のエクセル集...
-
エクセルで特定のセル内にだけ...
-
EXCELでマイナス値の入ったセル...
-
Excelで大量のセルに一気に関数...
-
条件に合った最初の行番号を表...
-
エクセル2010 欠席者の名前を...
-
エクセルで、土日のみのカレン...
-
エラー「#REF」の箇所を置き換...
-
エクセルである表から優先順位...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUMIF関数で、「ブランク以外を...
-
文字列から英数字のみを抽出す...
-
エクセル1行おきのセルを隣の...
-
自分の左隣のセル
-
エクセルで、指定の値よりも大...
-
同一セル内の重複文字を削除し...
-
エクセルで、A2のセルにA3...
-
セルを結合した時のエクセル集...
-
エクセルで数字の組み合わせを...
-
エクセルで特定のセル内にだけ...
-
EXCELでマイナス値の入ったセル...
-
条件付き書式の色付きセルのカ...
-
excelで、空白を除いてデータを...
-
EXCELのcountif関数での大文字...
-
エクセルでエンターを押すと任...
-
Excelで大量のセルに一気に関数...
-
エラー「#REF」の箇所を置き換...
-
【Excel】4つとばしで合計する方法
-
エクセルで年月日から月日のみへ
-
EXECL バーコード生成でBarCode...
おすすめ情報