advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 33541 for 関数 (0.006 sec.)
[[20180103005636]]
#score: 2646
@digest: 24bb4fe4beb8fb264d3850c075058bda
@id: 75175
@mdate: 2018-01-04T04:22:36Z
@size: 4924
@type: text/plain
#keywords: 遅遅 (10312), 務者 (9563), 接日 (8155), のag (7247), 青色 (2728), today (2607), 日報 (2316), ag (2237), 業列 (2009), ・下 (1719), ト以 (1624), 勤務 (1588), 翌日 (1510), sheet1 (1507), ・sh (1484), iferror (1428), small (1357), 日分 (1184), sheet2 (1176), 鈴木 (1138), 2018 (1107), 今日 (1095), シフ (1018), 田中 (1006), 関数 (1002), indirect (993), 下コ (920), 作業 (883), 佐藤 (740), 水) (725), 日付 (713), 半平 (697)
『small関数について』(青色)
sheet1にひと月のシフトがあり、 sheet2に当日と翌日の勤務者を抽出しています。 <sheet1> A B C D AG AH 1 1/1 1/2 1/3 1/1 1/2 2 田中 早 遅 休 1 1 3 佐藤 休 早 早 2 4 鈴木 遅 遅 遅 3 3 B1からAF1まで日付、A2からA100まで従業員の名前、 勤務形態は複数、空白もあります。 AG1に=TODAY()、AH1に=TODAY()+1を入力し、作業列としています。 <sheet2> A B 1 1/1 1/2 2 田中 田中 3 鈴木 佐藤 4 鈴木 A1に=TODAY()、B1に=TODAY()+1、A2には以下の式を入力しました。 =IFERROR(INDEX(sheet1!$A$2:$A$100,SMALL(sheet1!$AG$2:$AG$100,ROW(A1))),"") ここから質問です。 sheet1のAG1、AF1...にTODAY関数ではなく直接日付を入力し、 (sheet2はTODAY関数のまま) 「今日が1日ならAG2:AG100を参照し、今日が2日ならAF2:AF100を参照する」 ことはできるでしょうか? 一応sheet1の作業列は31日分作りましたが、 SMALL(sheet1!$AG$2:$AG$100←ここを変えて対応することはできますか? 別のやり方でも構いません。 マクロではなく関数でやりたいです。 よろしくお願いいたします。 < 使用 Excel:Excel2013、使用 OS:Windows10 > ---- ちょっとよく分からないです。説明に辻褄が合ってない感じです。 TODAY関数ではなく直接日付を入力することの意味(目的)は、何ですか? Sheet1の作業列に入っている数式が何なのか提示して貰えませんか? 読んだ印象では Sheet2はTODAY関数のままにするなら、今日と明日しか見にいかないのですから、 Sheet1のAG1、AF1もTODAY関数を使って、2日分だけ入力すればいいんじゃないですか? (半平太) 2018/01/03(水) 08:45 ---- 半平太さん ありがとうございます。 説明不足で申し訳ございません。 sheet1の作業列は遅番、早番問わずその日の勤務者のリストを出すためのものです。 sheet2には名前のリスト以外に日報として使う情報もあり、それを残しておきたいとのことです。 例えば今日が1/1だとして、 「sheet2のTODAY関数を消して1/4を入力したら、sheet2の名前のリストも自動的に1/4の勤務者に変わる」 というものを作りたいです。 (青色) 2018/01/03(水) 10:30 ---- 的外れかもしれませんけど、ご質問のことであれば、MATCH関数などを使えば出来そうな気がします。 ターゲットになる列のアルファベットを調べるにはこの方法を応用。 http://itwebkatu.com/excel-get-column-alphabet/ INDIRECT関数をつかって、文字列を数式に変換? INDIRECT関数の詳しい説明は大変なので、 http://officetanaka.net/excel/function/function/indirect.htm このあたりをご確認ください。 要は、日付にあわせて、MATCH関数で表のどの位置を参照すればよいか調べて、文字列の結合等で数式を構築してからINDIRECT関数で数式に変えちゃえばいいんじゃないかとおもいます。 (もこな2) 2018/01/03(水) 11:44 ---- >SMALL(sheet1!$AG$2:$AG$100←ここを変えて対応することはできますか? OFFSET関数でずらしたらどうですか? =IFERROR(INDEX(Sheet1!$A$2:$A$100,SMALL(OFFSET(Sheet1!$AG$2:$AG$100,0,MATCH(A$1,Sheet1!$AG$1:$BK$1,0)-1),ROW(A1))),"") よく分かっていないので、ダメだったら他の回答者のレスをお待ちください。 (半平太) 2018/01/03(水) 12:04 ---- Sheet1の作業列(31列)は他の用途でも必要だということですか? 揮発性関数を使わずにやってみた。 A2 =IFERROR(INDEX(Sheet1!$A$2:$A$100,SMALL(INDEX(Sheet1!$AG$2:$BK$100,0,MATCH(A$1,Sheet1!$AG$1:$BK$1,0)),ROW(A1))),"") 右と下にコピー A1の日付が「3日」ならSheet1のAG列から3列目、「10日」なら10列目を参照すればいいんだったら、 もう少し簡単になりますが、MATCH関数で日付を検索した方が無難でしょうね。 参考まで (笑) 2018/01/03(水) 13:05 ---- もこな2さん 半平太さん (笑)さん ありがとうございます。 文章で説明するのは難しいですね… どのやり方でも出来ました。 本当にありがとうございます。 (青色) 2018/01/03(水) 19:06 ---- >文章で説明するのは難しいですね… こういう感想を漏らすということは、自分の言いたいことが伝わっていないということなんでしょうね。 よくわからないまま回答しましたが、未だに作業列が「31列」も必要だとは思えません。 作業列「2列」でやってみた。 ■前提 ・Sheet1のAG列とAH列の2列を作業列とする ・Sheet2のA1に任意の日付を入力。B1はその翌日を表示(A1が月末日の場合は空白) ・抽出条件は、シフト表が「早」または「遅」になっている勤務者名 ■Sheet1 AG1 =IF(Sheet2!A1="","",Sheet2!A1) AG1をAH1にコピー AG2 =IF(AG$1="","",IF(OR(IFERROR(INDEX($B2:$AF2,MATCH(AG$1,$B$1:$AF$1,0)),"")={"早","遅"}),ROW(),"")) AG2を右・下コピー ■Sheet2 A1に任意の日付を手入力 B1 =IF(DAY(A1+1)=1,"",A1+1) A2 =IFERROR(INDEX(Sheet1!$A:$A,SMALL(Sheet1!AG$2:AG$100,ROW(A1))),"") A2を右・下コピー 以上ですが、これだと何か問題ありますか? >sheet2には名前のリスト以外に日報として使う情報もあり、それを残しておきたいとのことです。 この「それ」というのは31列の作業列を指してるんですかね? 「日報として使う情報」とは何のことですか? 最初の質問には >sheet2はTODAY関数のまま と書いてありますが、2つ目のコメント(2018/01/03 10:30)には >sheet2のTODAY関数を消して1/4を入力したら となっています。 これは間違いですか? 不明な点がありますが、一応参考まで (笑) 2018/01/04(木) 13:20 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201801/20180103005636.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97059 documents and 608315 words.

訪問者:カウンタValid HTML 4.01 Transitional