• 締切済み

Excelの2つのセルから

初めまして。宜しくお願いします。 Excelの事についてお伺いしたいのですが、 例えば、A1のセルに"田中" A2のセルに"1" A3のセルに"田中1" と書き、A1とA2が上の文字が入っていればA3のセルデータを B1に書き出すという事は出来ますでしょうか 説明不足などあればご指摘の程お願いします。

みんなの回答

noname#79209
noname#79209
回答No.5

#1です。ゴメンナサイ、計算式が間違っていました。 誤: =IF(ISNA(MATCH($A$1,OFFSET($B$10,0,0,1,3),0)),"休み",INDIRECT("A"&MATCH($A$1,OFFSET($B$10,0,0,1,3),0)+9)) 正: =IF(ISNA(MATCH($A$1,OFFSET($A$10,0,A2,3,1),0)),"休み",INDIRECT("A"&MATCH($A$1,OFFSET($A$10,0,A2,3,1),0)+9))

noname#79209
noname#79209
回答No.4

#1です。表のイメージの一部は何とか解りました。 でも、何だかすごく無駄なこと(同じようなことを何重にもしている)を しているように見えます。 > A3は =IF(COUNTIF(A10,"*田中*")>0,"(9:00~)","休み") > A4は =IF(COUNTIF(A11,"*田中*")>0,"(15:00~)","休み") > A5は =IF(COUNTIF(A12,"*田中*")>0,"(22:00~)","休み") と「田中」とキメ打ちしているようですが、他の人を選んだときはどうするのですか? > 例えば1日の田中を選んだら少ない方("休み">"時間帯")を表示 これも表のデザインがイビツになっていることによる無駄であり汎用性が妨げられている結果です。 多分、11行目以下に各従業員のシフト表が入力されていて、質問の目的は、 「田中さんの○日のシフトは何だっけ?」と調べたいときの対応なのでしょうか? もしそうなら、私なら以下のようにします。 シフト表部分:9:00→朝番、15:00→昼番、22:00→夜番と表すとします     A   B   C   D ・ ・ ・ AF  9 シフト  1   2   3 ・ ・ ・ 31 10 朝番  田中 鈴木 山田 ・ ・ ・ 11 昼番  山田 田中 鈴木 ・ ・ ・ 12 夜番  鈴木 山田 田中 ・ ・ ・ 検索部分:    A    B 1 田中▼ 2 2 ▼ A1:入力規則により従業員のリストから選択 A2:入力規則により1~31の日付を選択。   (大の月、小の月、閏年への対応は別途工夫が必要) B1: =IF(ISNA(MATCH($A$1,OFFSET($B$10,0,0,1,3),0)),"休み",INDIRECT("A"&MATCH($A$1,OFFSET($B$10,0,0,1,3),0)+9)) で可能です(ダサイ回答ですが)

noname#79209
noname#79209
回答No.3

うーん。イマイチ表のイメージが掴めないのですが... できれば、表のイメージを書いていただけると有り難いのです。 > 名前"A1"  > 日付"A2" > 時間帯 朝"A3" 昼"A4" 夜"A5" と書かれるより、   A    B 1 名前 2 日付 3 時間帯 のように表現していただきたいです。 それでも、具体的にどんな事をなさりたいのかよく分かりません。 表全体のイメージが質問者さんの頭の中にしかないからです。 出勤表と言うからには、一つのシート上でに何人もの従業員を管理したいのでしょう。 だとすると、ご質問の真意は、もしかして A1、A2、A3にそれぞれ名前、日付、時間帯を入力すると、 B1,B2、B3に次々と各従業員の出勤データが入っていくようなイメージでしょうか? もしそうなら、計算式や関数では無理です。マクロ(VBA)なら可能です。 ワークシートの計算式や関数は他のセルの内容をいじくるような機能は有りません。

bobubobuo
質問者

お礼

ご回答有難う御座います。 うまく文字に表せないですね・・・ 作成イメージとしては、  A   B   C 1名前  結果 2日付 3時間帯1 4時間帯2 5時間帯3 A1及びA2はプルダウンメニューで入力規則にしてあります A3~5はいわゆるB1に表示するデータとしてお考え頂ければと思います。 A3のデータですが、 時間と日付の表がありまして、 下の方で A3は =IF(COUNTIF(A10,"*田中*")>0,"(9:00~)","休み") A4は =IF(COUNTIF(A11,"*田中*")>0,"(15:00~)","休み") A5は =IF(COUNTIF(A12,"*田中*")>0,"(22:00~)","休み") と言うデータを作り プルダウンで選んだ結果をB1に表示させるような形を取りたいと思っております。 例えば1日の田中を選んだら少ない方("休み">"時間帯")を表示 ("休み""休み""時間帯")で時間帯が表示される様に (勿論休み3の場合は休みで)この2パターンです あまりにも知識不足でこれぐらいの事しか思い浮かびません・・・ マクロは最終手段だと思っております。 他に良い案が御座いましたら、宜しくお願いします。

回答No.2

データがA1"田中"、A2"1"という条件のときにA3の内容を B1に表示するということなら、B1に以下の式を組みます。 =IF(AND(A1="田中",A2="1"),A3,"") A1とA2の文字列を結合したものとA3の内容が一致するとき A3の内容をB1に表示するということなら、以下になります。 =IF(CONCATENATE(A1,A2)=A3,A3,"") 質問文の内容から、上記のどちらかだと思いました。 間違ってたらごめんなさい。

bobubobuo
質問者

お礼

wolfmuller様有難う御座います。

noname#79209
noname#79209
回答No.1

A2が文字列として、単純に IF(AND(A1="田中",A2="1"),A3,""))) A2が数値の1なら IF(AND(A1="田中",A2=1),A3,""))) ですが、 そう単純なことを求めているのではなさそうですね。 質問では言及されていないもっと複雑な事情が隠れているのでしょうね。

bobubobuo
質問者

お礼

vizzar様迅速な回答有難う御座います。 基本的な動きは分りました。 >質問では言及されていないもっと複雑な事情が隠れているのでしょうね。 特にないのですが、只今出勤表を作っておりまして プルダウンで名前と日付の入力規則をして 名前が"A1" 日付が"A2" 時間帯が"A3" そのA3の値を"B1"に書き出す と言う形を作っておりました。 さらに、質問で大変申し訳ないのですが 時間帯(A3の部分)が3つあり、他の名前を加える場合は どの様な関数になるのでしょうか? 名前 田中"A1" 鈴木"A2" 山田"A3" 日付  "1" "2" "3" 時間帯 "朝" "昼" "夜" 大変恐縮ですがご教授の程、宜しくお願いします。

bobubobuo
質問者

補足

下記の内容(質問の内容)に間違いがありました。 名前と日付はプルダウンにしておりますので 名前"A1"  日付"A2" 時間帯 朝"A3" 昼"A4" 夜"A5" 結果書き出し "B1" という感じです。

関連するQ&A

専門家に質問してみよう