次の方法で共有

シフト表を作成しようとしています。A列に午前の時間帯、B列に午後の時間帯を入れた表を参照して、1文字のひらがなに変換する関数を作りたいのですが、わかりません。

Anonymous
2011-02-05T02:09:12+00:00

A列には、8:00~14:00、もしくは8:00~13:00、もしくは8:00~12:00の時間帯が入っています。

B列には、ブランクもしくは14:00~19:00、もしくは14:00~19:30が入っています。

この時間帯から、ひらがなのシフト表を作成したいのです。

たとえば、セルA5に8:00~14:00、セルB5にブランクの日はセルAA5に”あ”

セルA6に8:00~12:00とセルB6に14:00~19:00の日はセルAA6に”い”を返すような式が作れないものかと

考えているのですが、わかりません。

どのような式をつくればいいでしょうか?

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-02-06T17:44:23+00:00

レイアウトがわかりました。

以下のような一覧表をSheet2に作成しておきます(実際のデータは 8:30 ~ 12:00 のように全角スペースが入っているようですのでそれに合わせてください)。

A B C
1 8:30~14:00
2 8:30~13:00
3 8:30~12:00
4 8:00~14:00
5 8:00~13:00
6 8:00~12:00
7 14:00~19:30
8 14:00~19:00
9 8:30~12:00 14:00~19:30
10 8:30~12:00 14:00~19:00
11 8:30~12:00 14:00~19:30
12 8:30~12:00 14:00~19:00

 3行目のデータの場合、以下の式を表示したいセルに入力し、その右のセルと2つのセルを選択し(または2つのセルを結合して)、右方向にオートフィルします。

=IF(SUMPRODUCT((Sheet2!$C$2:$C$13=B3)*(Sheet2!$D$2:$D$13=C3)),INDEX(Sheet2!$B$2:$B$12,SUMPRODUCT((Sheet2!$C$2:$C$13=B3)*(Sheet2!$D$2:$D$13=C3)*ROW(Sheet2!$B$2:$B$13))),"/")

該当データが無い場合は、「/」が表示されます。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

12 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2011-02-05T12:18:11+00:00

    ありがとうございます。 パターンは下の分だけあります。少し見にくいですが、お分かりいただけるでしょうか?

          A列           B列

    あ 8:30~14:00        ブランク

    い 8:30~13:00     ブランク

    う 8:30~12:00     ブランク

    か 8:00~14:00     ブランク

    き 8:00~13:00     ブランク

    く 8:00~12:00     ブランク

    さ    ブランク        14:00~19:30

    し    ブランク       14:00~19:00

    た 8:30~12:00       14:00~19:30

    ち 8:30~12:00       14:00~19:00

    つ 8:30~12:00      14:00~19:30

    て 8:30~12:00      14:00~19:00

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2011-02-05T07:04:58+00:00

    >あ~そまであったとしたら、その分だけ&でつなげばいいのでしょうか?

    実際に数式を作ってみてどのようになるか調べてください(数式の長さ制限にかかる可能性もありますが、例示のデータなら避けることはできません)。

    例示のデータは、条件に全く規則性が無いのでその条件をすべて記載する必要がありますが、「本当の」基準が同じ条件で分類されるような場合は、より効率的な数式にすることも可能です(重複する条件などがある場合は、まとめてIF関数で分岐することになります)。

    分岐条件を整理して提示していただければ、具体的な数式を提示できると思います。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2011-02-05T04:48:25+00:00

    以下のようなIF関数を&でつなげた数式にするのが簡単です。

    =IF(AND(A5>="8:00"*1,A5<="14:00"*1,B5=""),"あ","")&IF(AND(A5>="8:00"*1,A5<="12:00"*1,B5>="14:00"*1,B5<="19:00"*1),"い","")

     

     

    ということは、あ~そまであったとしたら、その分だけ&でつなげばいいのでしょうか?

    シフトパターンの数を書き忘れていました、すみません。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2011-02-05T03:48:35+00:00

    >たとえば、セルA5に8:00~14:00、セルB5にブランクの日はセルAA5に”あ” セルA6に8:00~12:00とセルB6に14:00~19:00の日はセルAA6に”い”を返すような式が作れないものかと考えているのですが、わかりません。

    以下のようなIF関数を&でつなげた数式にするのが簡単です。

    =IF(AND(A5>="8:00"*1,A5<="14:00"*1,B5=""),"あ","")&IF(AND(A5>="8:00"*1,A5<="12:00"*1,B5>="14:00"*1,B5<="19:00"*1),"い","")

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません